@font-face {
  font-family: "Bebas Neue";
  src: url("/fonts/bebas-neue/BebasNeue-Regular.08e462380510.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Roboto Flex";
  src: url("/fonts/roboto/Roboto%5Bwdth,wght%5D.d7598e12c5db.ttf") format("truetype");
  font-display: swap;
  font-weight: 100 1000;
}

:root {
  color-scheme: dark;
  --black: #010706;
  --panel: rgba(2, 20, 18, 0.94);
  --emerald: #00f2bd;
  --white: #f2f6f4;
  --muted: #aab8b3;
  --line: rgba(0, 242, 189, 0.7);
  --line-soft: rgba(0, 242, 189, 0.22);
  --frame: min(96vw, 1840px);
  --header: 78px;
  --radius: 5px;
  --shadow: 0 16px 45px rgba(0, 0, 0, 0.44);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; min-width: 320px; background: #010908; color: var(--white); font: 430 15px/1.38 "Roboto Flex", Arial, sans-serif; }
a { color: inherit; }
img { display: block; max-width: 100%; }
p { margin: 0 0 0.72rem; }
strong { font-weight: 780; }
em { color: var(--emerald); font-style: normal; }
.skip-link { position: fixed; z-index: 1000; top: 0.5rem; left: 0.5rem; padding: 0.55rem 0.8rem; background: var(--emerald); color: #00120d; font-weight: 850; transform: translateY(-160%); }
.skip-link:focus { transform: none; }

.site-header {
  position: sticky; z-index: 50; top: 0; height: var(--header); display: flex; align-items: center; justify-content: space-between;
  gap: clamp(1rem, 2vw, 2.8rem); padding-inline: max(2vw, calc((100% - 1840px) / 2)); border-bottom: 1px solid rgba(0, 242, 189, 0.42);
  background: linear-gradient(90deg, rgba(1, 10, 13, 0.98), rgba(2, 24, 25, 0.94) 66%, rgba(1, 10, 13, 0.98)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") 50% 10%/cover;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.45); backdrop-filter: blur(14px);
}
.brand { min-width: 370px; display: flex; align-items: center; gap: 0.72rem; text-decoration: none; }
.brand img { width: 64px; height: 64px; border-radius: 50%; filter: drop-shadow(0 0 8px rgba(0, 242, 189, 0.24)); }
.brand-name { color: var(--white); font: 2.05rem/0.78 "Bebas Neue", sans-serif; letter-spacing: 0.1em; text-shadow: 0 2px 0 #000; }
.brand-name small { display: block; margin-top: 0.45rem; color: var(--emerald); font: 700 0.62rem/1 "Roboto Flex", sans-serif; letter-spacing: 0.62em; text-align: center; }
.brand-line { margin-left: 0.3rem; padding: 0.2rem 0 0.2rem 1.25rem; border-left: 1px solid rgba(255, 255, 255, 0.6); color: #e0e7e4; font-size: 0.58rem; font-weight: 650; line-height: 1.7; letter-spacing: 0.34em; text-transform: uppercase; }
.desktop-nav { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: clamp(0.65rem, 1.35vw, 1.65rem); }
.desktop-nav a, .mobile-nav a { position: relative; color: #eef3f1; font-size: 0.86rem; font-weight: 570; text-decoration: none; white-space: nowrap; }
.desktop-nav a:not(.join-link)::after { content: ""; position: absolute; right: 0; bottom: -0.7rem; left: 0; height: 3px; background: var(--emerald); transform: scaleX(0); transition: transform 150ms ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .desktop-nav a.active::after { transform: scaleX(1); }
.desktop-nav a.active { color: var(--emerald); }
.join-link { min-width: 138px; padding: 0.67rem 1.25rem; border: 1px solid var(--emerald); border-radius: var(--radius); color: var(--emerald) !important; text-align: center; }
.join-link::before { content: "◆"; margin-right: 0.55rem; font-size: 0.7rem; }
.join-link:hover, .join-link:focus-visible { background: var(--emerald); color: #00140f !important; }
.mobile-nav { display: none; }

main { overflow: hidden; background: radial-gradient(circle at 15% 38%, rgba(0, 91, 71, 0.14), transparent 28%), radial-gradient(circle at 88% 72%, rgba(0, 139, 102, 0.1), transparent 26%), #010a09; }
.hero { isolation: isolate; position: relative; min-height: 390px; display: flex; align-items: center; padding: 2rem max(3.4vw, calc((100% - 1760px) / 2)); overflow: hidden; border-bottom: 1px solid var(--line); background: #03100f url("/assets/web/nordvegr-fleet.3cca63265f82.webp") right 52%/auto 185% no-repeat; }
.hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: inherit; transform: scale(1.015); }
.hero::after { content: ""; position: absolute; z-index: -1; inset: auto 0 0; height: 30%; background: linear-gradient(transparent, rgba(0, 7, 7, 0.88)); }
.hero-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(0, 5, 8, 0.98) 0%, rgba(0, 7, 9, 0.91) 29%, rgba(0, 7, 9, 0.43) 47%, rgba(0, 7, 9, 0.03) 70%, rgba(0, 7, 9, 0.35) 100%), linear-gradient(0deg, rgba(0, 8, 9, 0.42), transparent 55%); }
.hero-copy { width: min(720px, 48%); padding-top: 0.3rem; text-shadow: 0 2px 10px #000; }
.eyebrow { margin: 0 0 0.38rem; color: var(--emerald); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.36em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: "Bebas Neue", Impact, sans-serif; font-weight: 400; letter-spacing: 0.035em; text-transform: uppercase; }
h1 { color: #f5f7f6; font-size: clamp(3.6rem, 4.75vw, 6rem); line-height: 0.82; text-shadow: 0 3px 0 #2b3432, 0 5px 0 rgba(0, 0, 0, 0.7), 0 0 18px #000; }
h1 em { color: var(--emerald); text-shadow: 0 3px 0 #006b51, 0 5px 0 rgba(0, 0, 0, 0.7), 0 0 25px rgba(0, 242, 189, 0.22); }
h2 { color: #f4f7f5; font-size: clamp(2rem, 2.7vw, 3.4rem); line-height: 0.9; text-shadow: 0 2px 0 #1d2623; }
h3 { color: #f4f7f5; font-size: clamp(1.25rem, 1.45vw, 1.72rem); line-height: 1; }
.hero-body { max-width: 650px; margin-top: 0.9rem; color: #f2f6f4; font-size: clamp(0.9rem, 0.92vw, 1.05rem); line-height: 1.34; }
.hero-body p { margin-bottom: 0.35rem; }
.hero-mark { position: absolute; right: 3.6vw; top: 2rem; display: grid; color: white; font-family: Georgia, serif; font-size: clamp(1rem, 1.35vw, 1.55rem); font-style: italic; line-height: 1.1; text-align: right; transform: rotate(-7deg); }
.hero-mark strong { color: var(--emerald); font-size: 1.25em; }
.actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 0.9rem; }
.button { min-height: 43px; min-width: 200px; display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.62rem 1.1rem; border: 1px solid var(--emerald); border-radius: var(--radius); font-size: 0.78rem; font-weight: 820; letter-spacing: 0.025em; text-decoration: none; text-transform: uppercase; transition: 150ms ease; }
.button.primary { background: linear-gradient(135deg, #00fbc2, #00cd90); color: #00120d; box-shadow: 0 0 18px rgba(0, 240, 181, 0.22); }
.button.secondary { background: rgba(0, 8, 9, 0.78); color: white; }
.button:hover, .button:focus-visible { transform: translateY(-2px); box-shadow: 0 0 26px rgba(0, 240, 181, 0.34); }

.signal-strip { width: var(--frame); min-height: 62px; position: relative; z-index: 4; display: grid; grid-template-columns: repeat(4, 1fr); margin: -1px auto 0; border: 1px solid var(--line-soft); border-top-color: var(--line); background: rgba(1, 17, 16, 0.98); box-shadow: var(--shadow); }
.signal-strip.five { grid-template-columns: repeat(5, 1fr); }
.signal-strip div { position: relative; padding: 0.82rem 1.2rem 0.72rem 3.35rem; border-right: 1px solid var(--line-soft); }
.signal-strip div::before { content: "✦"; position: absolute; left: 1.2rem; top: 0.9rem; color: var(--emerald); font-size: 1.45rem; }
.signal-strip div:last-child { border: 0; }
.signal-strip strong, .signal-strip span { display: block; }
.signal-strip strong { color: #f0f5f2; font-size: 0.7rem; letter-spacing: 0.1em; }
.signal-strip span { color: var(--muted); font-size: 0.65rem; }

.content-section, .visitor-panel, .final-cta, .founder-panel, .policy-page, .policy-hero { width: var(--frame); margin-inline: auto; }
.content-section { padding: 1.55rem 0; }
.content-section + .content-section { border-top: 1px solid var(--line-soft); }
.section-heading { max-width: 1050px; margin-bottom: 0.85rem; }
.section-heading h2 em { color: var(--emerald); }
.section-lead { max-width: 800px; margin: 0.45rem 0 0; color: var(--muted); font-size: 0.88rem; }
.feature-grid { display: grid; gap: 0.65rem; }
.feature-grid.two { grid-template-columns: repeat(2, 1fr); }
.feature-grid.three { grid-template-columns: repeat(3, 1fr); }
.feature-grid.four { grid-template-columns: repeat(4, 1fr); }
.feature-grid.five { grid-template-columns: repeat(5, 1fr); }
.feature-card, .number-grid li, .journey-steps li, .platform-flow li { position: relative; min-width: 0; padding: 1.15rem 1.2rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(92deg, rgba(1, 15, 15, 0.99) 0%, rgba(2, 23, 21, 0.94) 57%, rgba(2, 23, 21, 0.52) 100%), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 9px 24px rgba(0, 0, 0, 0.18); }
.feature-card:nth-child(2n) { background-position: 68% center; }
.feature-card:nth-child(3n) { background-position: 38% center; }
.feature-card::before { content: "✦"; float: left; width: 2rem; margin: 0.02rem 0.65rem 2rem 0; color: var(--emerald); font-size: 1.5rem; line-height: 1; text-align: center; }
.feature-card::after { content: "→"; position: absolute; top: 0.9rem; right: 0.9rem; color: var(--emerald); font-weight: 900; }
.feature-card h3 { margin: 0.05rem 1.3rem 0.45rem 0; }
.feature-card p { max-width: 36rem; margin-bottom: 0.4rem; color: #d2dcda; font-size: 0.82rem; line-height: 1.36; }
.card-index, .number-grid span, .journey-steps span, .platform-flow span { color: var(--emerald) !important; font: 800 0.68rem/1 "Roboto Flex", sans-serif; letter-spacing: 0.12em; }
.compact .feature-card { min-height: 130px; }
.feature-grid:not(.compact) .feature-card { min-height: 175px; }
.systems-section, .drive-ways { position: relative; }
.systems-section::before, .drive-ways::before { content: ""; position: absolute; z-index: -1; inset: 0 50% 0 -50vw; background: linear-gradient(90deg, rgba(0, 61, 49, 0.18), transparent); }

.visitor-panel { position: relative; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr); align-items: center; gap: 2rem; margin-top: 0.7rem; margin-bottom: 1.5rem; padding: 1.55rem 1.7rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(90deg, rgba(1, 14, 14, 0.98), rgba(1, 17, 16, 0.83) 61%, rgba(1, 17, 16, 0.35)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") right 64%/cover; box-shadow: var(--shadow); }
.visitor-panel .section-heading { margin-bottom: 0.6rem; }
.visitor-panel p { max-width: 980px; color: #d4ddda; font-size: 0.86rem; }
.visitor-panel .actions { justify-content: flex-end; }
blockquote { margin: 0.75rem 0 0; padding-left: 0.85rem; border-left: 3px solid var(--emerald); color: white; font-family: "Bebas Neue", sans-serif; font-size: 1.3rem; letter-spacing: 0.04em; }
.final-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 1.65rem; padding: 1.4rem 1.7rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(90deg, rgba(1, 14, 13, 0.96), rgba(1, 25, 21, 0.74)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center 74%/cover; }
.final-cta .section-heading { margin: 0; }

.two-column-story, .split-banner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.65rem; }
.two-column-story > article, .split-banner > div { min-height: 240px; padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(90deg, rgba(1, 15, 14, 0.98), rgba(1, 17, 16, 0.76)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.two-column-story > article:nth-child(2), .split-banner > div:nth-child(2) { background-position: 72% center; }
.two-column-story .section-heading, .split-banner .section-heading { margin-bottom: 0.65rem; }
.two-column-story p, .split-banner p { color: #d1dbd7; font-size: 0.84rem; }
.founder-panel { display: grid; grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr); min-height: 390px; margin-top: 0.5rem; margin-bottom: 0.7rem; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: linear-gradient(90deg, rgba(1, 15, 14, 0.75), rgba(1, 15, 14, 0.98)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.founder-panel img { width: 100%; height: 100%; max-height: 470px; object-fit: cover; object-position: 50% 28%; }
.founder-panel > div { padding: 1.55rem 1.8rem; }
.founder-panel p { color: #d0dad7; font-size: 0.82rem; }
.founder-panel blockquote { font-size: 1.55rem; }
.values .feature-card { padding: 1rem; }

.journey-steps, .number-grid, .platform-flow, .rank-track { margin: 0; padding: 0; list-style: none; }
.journey-steps { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.journey-steps li { min-height: 180px; padding: 1rem; border-width: 0 1px 0 0; border-radius: 0; background: linear-gradient(180deg, rgba(1, 23, 20, 0.98), rgba(1, 12, 12, 0.98)); }
.journey-steps li:last-child { border-right: 0; }
.journey-steps li::after { content: "›"; position: absolute; right: 0.35rem; top: 45%; color: var(--emerald); font-size: 2rem; }
.journey-steps h3, .number-grid h3, .platform-flow h3 { margin: 0.72rem 0 0.5rem; }
.journey-steps p, .number-grid p, .platform-flow p { color: var(--muted); font-size: 0.76rem; line-height: 1.35; }
.number-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.55rem; }
.number-grid li { min-height: 126px; }
.rank-track { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.3rem; padding: 0.8rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(180deg, rgba(1, 20, 18, 0.92), rgba(1, 10, 9, 0.96)); }
.rank-track::before { content: ""; position: absolute; z-index: 0; top: 40%; right: 6%; left: 6%; height: 2px; background: var(--emerald); box-shadow: 0 0 14px var(--emerald); }
.rank-track li { position: relative; z-index: 1; min-width: 0; text-align: center; }
.rank-track img { width: min(100%, 175px); aspect-ratio: 1; margin: 0 auto; object-fit: contain; filter: drop-shadow(0 8px 15px rgba(0, 0, 0, 0.65)); transition: transform 150ms ease; }
.rank-track li:hover img { transform: translateY(-4px) scale(1.02); }
.rank-track h3 { margin: -0.4rem 0 0.28rem; color: white; font-size: clamp(1.1rem, 1.2vw, 1.5rem); }
.rank-track p { color: var(--muted); font-size: 0.67rem; line-height: 1.3; }
.rank-note { max-width: 1050px; margin: 0.75rem auto 0; padding: 0.6rem 0.9rem; border-left: 3px solid var(--emerald); color: var(--muted); font-size: 0.76rem; text-align: center; }
.page-drivers .hero { min-height: 300px; }
.page-drivers .journey-section { padding: 0.65rem 0; }
.page-drivers .journey-section .section-heading { display: flex; align-items: end; gap: 1rem; max-width: none; }
.page-drivers .journey-section .section-heading .eyebrow { align-self: center; }
.page-drivers .journey-section .section-heading { margin-bottom: 0.45rem; }
.page-drivers .journey-section .section-heading h2 { font-size: 1.75rem; }
.page-drivers .journey-steps li { min-height: 142px; padding: 0.75rem 0.8rem; }
.page-drivers .journey-steps h3 { margin: 0.45rem 0 0.3rem; font-size: 1.2rem; }
.page-drivers .journey-steps p { font-size: 0.67rem; }
.drivers-board { display: grid; grid-template-columns: 0.72fr 0.72fr 1.56fr; gap: 0.55rem; padding-top: 0.1rem; padding-bottom: 0.65rem; }
.driver-card { min-height: 310px; padding: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(90deg, rgba(1, 15, 14, 0.98), rgba(1, 18, 17, 0.76)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.driver-card:nth-child(2) { background-position: 72% center; }
.driver-card p { color: #d2ddda; font-size: 0.78rem; }
.driver-card .section-heading h2 { font-size: clamp(1.65rem, 1.9vw, 2.25rem); }
.rank-card .section-heading { margin-bottom: 0.35rem; }
.rank-card .rank-track { border: 0; padding: 0.25rem 0; background: transparent; }
.rank-card .rank-track img { width: min(100%, 108px); }
.rank-card .rank-track h3 { font-size: 1rem; }
.rank-card .rank-track p { font-size: 0.53rem; }
.rank-card .rank-note { margin-top: 0.25rem; padding: 0.35rem; font-size: 0.58rem; }
.driver-action-bar { width: var(--frame); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 0 auto 1rem; padding: 0.75rem 1rem; border: 1px solid var(--line); background: rgba(2, 19, 17, 0.95); }
.driver-action-bar .section-heading { margin: 0; }
.driver-action-bar .section-heading h2 { font-size: 1.8rem; }
.driver-action-bar .section-lead { margin-top: 0.15rem; }
.driver-action-bar .actions { margin: 0; }
.check-list { display: grid; gap: 0.3rem; margin: 0; padding: 0; list-style: none; }
.check-list li { font-size: 0.84rem; }
.check-list li::before { content: "✓"; margin-right: 0.55rem; color: var(--emerald); font-weight: 900; }
.text-link { position: relative; z-index: 2; color: var(--emerald); font-weight: 800; overflow-wrap: anywhere; text-decoration: none; }
.text-link:hover, .text-link:focus-visible { text-decoration: underline; }
.rules-grid .feature-card { min-height: 150px; }
.page-rules .hero { min-height: 285px; }
.rules-board { padding: 0.8rem 0; }
.rules-board .section-heading { display: flex; align-items: end; gap: 1rem; max-width: none; margin-bottom: 0.45rem; }
.rules-board .section-heading h2 { font-size: 1.9rem; }
.rules-board .rules-grid { gap: 0.45rem; }
.rules-board .feature-card { min-height: 116px; padding: 0.8rem 0.9rem; background: linear-gradient(92deg, rgba(1, 15, 15, 0.99), rgba(2, 23, 21, 0.9)); }
.rules-board .feature-card::before { width: 1.5rem; margin-right: 0.4rem; font-size: 1.1rem; }
.rules-board .feature-card h3 { font-size: 1.2rem; }
.rules-board .feature-card p { font-size: 0.7rem; line-height: 1.28; }
.rules-closing { width: var(--frame); display: grid; grid-template-columns: 1fr 1.35fr; gap: 0.55rem; margin: 0 auto 0.9rem; }
.rules-closing article { min-height: 115px; padding: 0.9rem 1rem; border: 1px solid var(--line); background: linear-gradient(90deg, rgba(1, 16, 15, 0.98), rgba(1, 24, 21, 0.68)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.rules-closing article:nth-child(2) { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background-position: 72% center; }
.rules-closing .section-heading { margin-bottom: 0.35rem; }
.rules-closing .section-heading h2 { font-size: 1.65rem; }
.rules-closing p { color: var(--muted); font-size: 0.72rem; }
.systems-grid .feature-card { min-height: 160px; }
.platform-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border: 1px solid var(--line); }
.platform-flow li { min-height: 132px; border-width: 0 1px 0 0; border-radius: 0; }
.platform-flow li:last-child { border-right: 0; }

/* Reference-faithful desktop compositions. These pages intentionally favour the
   dense, single-canvas presentation approved for the public launch. */
.page-home .hero { min-height: 360px; }
.page-about .hero { min-height: 320px; }

.page-truckersmp .hero { min-height: 300px; }
.page-truckersmp .content-section { padding: 0.58rem 0; }
.page-truckersmp .content-section .section-heading { display: flex; align-items: end; gap: 0.8rem; max-width: none; margin-bottom: 0.38rem; }
.page-truckersmp .content-section .section-heading h2 { font-size: 1.75rem; }
.page-truckersmp .intro-panel { display: grid; grid-template-columns: 0.8fr 1fr 1fr; align-items: center; gap: 0.8rem; }
.page-truckersmp .intro-panel .section-heading { display: block; margin: 0; }
.page-truckersmp .intro-panel p { margin: 0; color: #d5dfdc; font-size: 0.72rem; }
.page-truckersmp .number-grid li { min-height: 92px; padding: 0.72rem 0.85rem; }
.page-truckersmp .number-grid h3 { margin: 0.35rem 0 0.22rem; font-size: 1.05rem; }
.page-truckersmp .number-grid p { font-size: 0.65rem; }
.page-truckersmp .feature-card { min-height: 88px !important; padding: 0.7rem 0.8rem !important; }
.page-truckersmp .feature-card::before { width: 1.25rem; margin-right: 0.35rem; font-size: 1rem; }
.page-truckersmp .feature-card h3 { margin-bottom: 0.2rem; font-size: 1.05rem; }
.page-truckersmp .feature-card p { font-size: 0.65rem; }
.page-truckersmp .drive-ways .feature-card { padding-top: 3.5rem !important; }
.page-truckersmp .visitor-panel { min-height: 108px; margin-top: 0.25rem; margin-bottom: 0.8rem; padding: 0.75rem 1rem; }
.page-truckersmp .visitor-panel .section-heading h2 { font-size: 1.6rem; }
.page-truckersmp .visitor-panel .check-list { grid-template-columns: repeat(3, 1fr); }
.page-truckersmp .visitor-panel .check-list li { font-size: 0.68rem; }

.page-platform .hero { min-height: 330px; }
.page-platform #systems { padding: 0.75rem 0 0.55rem; }
.page-platform #systems > .section-heading { display: flex; align-items: end; gap: 0.9rem; max-width: none; margin-bottom: 0.45rem; }
.page-platform #systems > .section-heading h2 { font-size: 1.9rem; }
.page-platform .systems-grid { grid-template-columns: repeat(20, 1fr); gap: 0.45rem; }
.page-platform .systems-grid .feature-card { grid-column: span 5; min-height: 145px; padding: 0.85rem 0.9rem; }
.page-platform .systems-grid .feature-card:nth-child(n + 5) { grid-column: span 4; min-height: 108px; }
.page-platform .systems-grid .feature-card h3 { font-size: 1.15rem; }
.page-platform .systems-grid .feature-card p { font-size: 0.67rem; line-height: 1.28; }
.page-platform .flow-section { padding: 0.6rem 0; }
.page-platform .flow-section .section-heading { display: flex; align-items: end; gap: 0.8rem; max-width: none; margin-bottom: 0.4rem; }
.page-platform .flow-section .section-heading h2 { font-size: 1.8rem; }
.page-platform .platform-flow li { min-height: 92px; padding: 0.7rem 0.8rem; }
.page-platform .platform-flow h3 { margin: 0.35rem 0 0.2rem; }
.page-platform .platform-flow p { font-size: 0.64rem; }
.page-platform .visitor-panel { min-height: 115px; margin-top: 0.2rem; margin-bottom: 0.8rem; padding: 0.8rem 1rem; }
.page-platform .visitor-panel .section-heading h2 { font-size: 1.7rem; }

.page-home .content-section:first-of-type .feature-card, .page-community .content-section:first-of-type .feature-card, .page-truckersmp .drive-ways .feature-card { min-height: 190px; padding-top: 5.6rem; background: linear-gradient(0deg, rgba(1, 12, 12, 0.99) 0%, rgba(1, 15, 15, 0.76) 58%, rgba(1, 12, 12, 0.12) 100%), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.page-home .content-section:first-of-type .feature-card:nth-child(2), .page-community .content-section:first-of-type .feature-card:nth-child(2) { background-position: 72% center; }
.page-home .content-section:first-of-type .feature-card:nth-child(3), .page-community .content-section:first-of-type .feature-card:nth-child(3) { background-position: 30% center; }
.page-home .content-section:first-of-type .feature-card:nth-child(4), .page-community .content-section:first-of-type .feature-card:nth-child(4) { background-position: 88% center; }

.page-community .hero { min-height: 330px; }
.community-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; }
.showcase-card { min-height: 210px; padding: 1rem 1.15rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(90deg, rgba(1, 14, 14, 0.98), rgba(1, 24, 21, 0.76)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.showcase-card:nth-child(2) { background-position: 74% center; }
.showcase-card:nth-child(3) { background-position: 38% center; }
.showcase-card:nth-child(4) { background-position: 88% center; }
.showcase-card:nth-child(5) { background-position: 18% center; }
.showcase-card:nth-child(6) { background-position: 64% center; }
.showcase-card .section-heading { margin-bottom: 0.55rem; }
.showcase-card .section-heading h2 { font-size: clamp(1.75rem, 2.15vw, 2.65rem); }
.showcase-card p { max-width: 41rem; color: #d6dfdc; font-size: 0.78rem; }
.showcase-card .actions { margin-top: 0.55rem; }
.showcase-card .button { min-width: 170px; min-height: 38px; padding-block: 0.48rem; }
.mode-list, .value-list { display: grid; gap: 0.3rem; margin: 0.55rem 0 0; padding: 0; list-style: none; }
.mode-list li, .value-list li { display: grid; grid-template-columns: minmax(110px, 0.55fr) 1fr; gap: 0.5rem; padding: 0.35rem 0.55rem; border: 1px solid var(--line-soft); background: rgba(0, 8, 8, 0.68); }
.mode-list strong, .value-list strong { color: white; font-size: 0.76rem; text-transform: uppercase; }
.mode-list span, .value-list span { color: var(--muted); font-size: 0.7rem; }

.policy-hero { min-height: 300px; display: flex; align-items: end; padding: 4.5rem 2rem 2rem; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgba(2, 8, 7, 0.95), rgba(2, 8, 7, 0.25)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center/cover; }
.policy-hero .section-heading { margin: 0; }
.policy-page { max-width: 1050px; margin-top: 1.5rem; margin-bottom: 2rem; padding: 1.7rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.policy-page h2 { margin-bottom: 1rem; }
.policy-page p { color: var(--muted); font-size: 0.9rem; }
.policy-page a { color: var(--emerald); }

.site-footer { width: 100%; min-height: 86px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem 2.5rem; padding: 0.75rem max(2vw, calc((100% - 1840px) / 2)); border-top: 1px solid var(--line); background: linear-gradient(90deg, rgba(1, 12, 13, 0.98), rgba(2, 25, 24, 0.92), rgba(1, 10, 12, 0.98)), url("/assets/web/nordvegr-fleet.3cca63265f82.webp") center 84%/cover; color: var(--muted); }
.footer-brand { display: flex; align-items: center; gap: 0.75rem; }
.footer-brand img { width: 54px; height: 54px; border-radius: 50%; }
.footer-brand strong, .footer-brand small { display: block; }
.footer-brand strong { color: white; font-family: "Bebas Neue", sans-serif; font-size: 1.25rem; letter-spacing: 0.1em; }
.footer-brand small { font-size: 0.6rem; letter-spacing: 0.14em; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.55rem 1.2rem; }
.site-footer nav a { font-size: 0.67rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.site-footer nav a:hover, .site-footer nav a:focus-visible { color: var(--emerald); }
.site-footer > p { margin: 0; font-size: 0.62rem; text-align: right; }
:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0.01ms !important; } }

@media (max-width: 1420px) {
  :root { --header: 72px; }
  .brand { min-width: 300px; }
  .brand-line { display: none; }
  .brand img { width: 58px; height: 58px; }
  .desktop-nav { gap: 0.72rem; }
  .desktop-nav a { font-size: 0.75rem; }
  .hero { min-height: 370px; }
  .journey-steps { grid-template-columns: repeat(4, 1fr); border: 0; gap: 0.5rem; }
  .journey-steps li { border: 1px solid var(--line); }
  .feature-grid.five { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .mobile-nav { display: block; position: relative; }
  .mobile-nav summary { min-width: 86px; padding: 0.65rem 0.9rem; border: 1px solid var(--emerald); border-radius: var(--radius); color: var(--emerald); cursor: pointer; font-weight: 800; list-style: none; text-align: center; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav nav { position: absolute; right: 0; top: calc(100% + 0.6rem); width: min(350px, calc(100vw - 2rem)); display: grid; padding: 0.65rem; border: 1px solid var(--line); background: #03100e; box-shadow: var(--shadow); }
  .mobile-nav nav a { padding: 0.68rem; border-bottom: 1px solid var(--line-soft); }
  .mobile-nav nav a.active { color: var(--emerald); }
  .mobile-nav .join-link { margin-top: 0.45rem; }
  .hero-copy { width: min(650px, 62%); }
  .feature-grid.four, .feature-grid.three, .systems-grid { grid-template-columns: repeat(2, 1fr); }
  .community-board { grid-template-columns: repeat(2, 1fr); }
  .rank-track { grid-template-columns: repeat(3, 1fr); }
  .rank-track::before { display: none; }
  .number-grid, .platform-flow { grid-template-columns: repeat(2, 1fr); border: 0; gap: 0.5rem; }
  .platform-flow li { border: 1px solid var(--line); }
  .site-footer { grid-template-columns: auto 1fr; }
  .site-footer > p { grid-column: 1 / -1; text-align: center; }
  .drivers-board { grid-template-columns: 1fr 1fr; }
  .rank-card { grid-column: 1 / -1; }
  .rules-board .feature-grid { grid-template-columns: repeat(3, 1fr); }
  .page-platform .systems-grid { grid-template-columns: repeat(2, 1fr); }
  .page-platform .systems-grid .feature-card,
  .page-platform .systems-grid .feature-card:nth-child(n + 5) { grid-column: span 1; }
  .page-truckersmp .intro-panel { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  :root { --header: 66px; --frame: calc(100% - 1.2rem); }
  .site-header { padding-inline: 0.65rem; }
  .brand { min-width: 0; }
  .brand img { width: 50px; height: 50px; }
  .brand-name { font-size: 1.45rem; }
  .hero { min-height: 590px; align-items: end; padding: 7rem 1rem 2rem; background-position: 58% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(0, 6, 8, 0.99) 0%, rgba(0, 7, 9, 0.9) 54%, rgba(0, 7, 9, 0.25) 100%); }
  .hero-copy { width: 100%; }
  h1 { font-size: clamp(3.2rem, 15vw, 4.8rem); }
  h2 { font-size: clamp(2.2rem, 10vw, 3.4rem); }
  .hero-mark { display: none; }
  .actions { display: grid; }
  .button { width: 100%; }
  .signal-strip { grid-template-columns: repeat(2, 1fr); }
  .signal-strip div:nth-child(2) { border-right: 0; }
  .signal-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .feature-grid.four, .feature-grid.three, .feature-grid.two, .feature-grid.five, .journey-steps, .number-grid, .platform-flow, .two-column-story, .split-banner { grid-template-columns: 1fr; }
  .community-board { grid-template-columns: 1fr; }
  .drivers-board { grid-template-columns: 1fr; }
  .rank-card { grid-column: auto; }
  .driver-action-bar { display: grid; }
  .rules-board .feature-grid, .rules-closing { grid-template-columns: 1fr; }
  .rules-closing article:nth-child(2) { display: grid; }
  .page-platform .systems-grid { grid-template-columns: 1fr; }
  .page-truckersmp .visitor-panel .check-list { grid-template-columns: 1fr; }
  .feature-card, .journey-steps li, .number-grid li, .platform-flow li { min-height: 0 !important; }
  .visitor-panel { grid-template-columns: 1fr; padding: 1.3rem; }
  .visitor-panel .actions { justify-content: stretch; }
  .final-cta { display: grid; padding: 1.3rem; }
  .founder-panel { grid-template-columns: 1fr; }
  .founder-panel img { max-height: 420px; }
  .founder-panel > div { padding: 1.3rem; }
  .rank-track { grid-template-columns: repeat(2, 1fr); }
  .rank-track p { font-size: 0.64rem; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer nav { justify-content: flex-start; }
  .site-footer > p { text-align: left; }
}
@media (max-width: 430px) {
  .brand-name { display: none; }
  .signal-strip { grid-template-columns: 1fr; }
  .signal-strip div { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .rank-track { grid-template-columns: 1fr; }
  .rank-track img { max-width: 230px; }
}
