:root {
  color-scheme: dark;
  --background: #081416;
  --surface: #102328;
  --surface-raised: #163138;
  --surface-muted: #193038;
  --foreground: #edf8f8;
  --muted: #abc0c4;
  --border: #2d4b52;
  --border-strong: #55737a;
  --primary: #65d1df;
  --primary-hover: #8be3eb;
  --primary-ink: #062329;
  --secondary: #aaa7ff;
  --accent: #ffc167;
  --danger: #ff929f;
  --max-width: 1180px;
  --radius-sm: .65rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --shadow: 0 24px 64px rgb(0 0 0 / 36%);
  --ease: cubic-bezier(.2, 0, 0, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--background); }
body { margin: 0; min-width: 20rem; background: var(--background); color: var(--foreground); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.65; }
body::before { position: fixed; z-index: -1; inset: 0; background: radial-gradient(circle at 12% 10%, rgb(45 181 198 / 12%), transparent 28rem), radial-gradient(circle at 88% 8%, rgb(135 124 255 / 10%), transparent 30rem); content: ""; pointer-events: none; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
:where(h1, h2, h3, p, li, dt, dd, address) { overflow-wrap: break-word; hyphens: auto; }
:where(.hero-grid, .value-intro, .value-grid, .steps-grid, .home-path, .journey-intro-grid, .journey-intro-points, .journey-layout, .journey-step-header, .journey-details, .curriculum-flow, .evidence-path, .training-arc, .decision-grid, .decision-map, .pilot-readiness-grid, .release-checks, .release-timeline, .split-feature, .feature-grid, .comparison-grid, .footer-grid, .page-hero .shell, .principle-grid, .process-list, .legal-toc, .legal-summary, .legal-hub-grid, .legal-hub-card, .about-intro-grid, .ai-data-flow, .ai-boundary-grid) > * { min-width: 0; }
:where(.site-control__item, .button, .visual-status, .value-promise, .value-card, .step-card, .feature-card, .journey-overview, .journey-rail a, .journey-step article, .journey-details > div, .journey-result, .journey-plain-note, .curriculum-flow > *, .evidence-path > *, .training-arc > *, .decision-map > *, .pilot-signal, .pilot-readiness-grid article, .pilot-inline-access, .release-checks li, .release-timeline li > div, .topic-panel, .comparison-list > div, .cta-panel, .page-hero-aside, .principle-card, .process-list li, .faq-list details, .notice, .legal-data, .legal-toc, .legal-toc a, .legal-highlight, .legal-hub-card, .about-portrait-placeholder, .about-facts, .topic-tags span, .page-cta, .ai-data-flow li, .ai-boundary-card) { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
:where(.site-control__item, .visual-status, .value-promise, .value-card, .step-card, .feature-card, .journey-overview, .journey-rail a, .journey-step article, .journey-details > div, .journey-result, .journey-plain-note, .curriculum-flow > *, .evidence-path > *, .training-arc > *, .decision-map > *, .pilot-signal, .pilot-readiness-grid article, .pilot-inline-access, .release-checks li, .release-timeline li > div, .topic-panel, .comparison-list > div, .cta-panel, .page-hero-aside, .principle-card, .process-list li, .faq-list details, .notice, .legal-data, .legal-toc, .legal-highlight, .legal-hub-card, .about-portrait-placeholder, .about-facts, .page-cta, .ai-data-flow li, .ai-boundary-card) :where(h1, h2, h3, p, strong, span, a, li, dt, dd, address) { max-width: 100%; overflow-wrap: break-word; hyphens: auto; }
:where(.legal-data, .legal-highlight, .notice, .about-facts, .page-cta, .content-wrap) :where(a, code) { overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; margin: -1px; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 1000; top: 1rem; left: 1rem; translate: 0 -200%; border-radius: var(--radius-sm); background: var(--primary); padding: .75rem 1rem; color: var(--primary-ink); font-weight: 800; }
.skip-link:focus { translate: 0; }
.shell { width: min(calc(100% - 2rem), var(--max-width)); margin-inline: auto; }

.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid transparent; background: rgb(8 20 22 / 74%); transition: border-color 180ms var(--ease), backdrop-filter 180ms var(--ease); }
.site-header.is-scrolled { border-color: rgb(45 75 82 / 70%); backdrop-filter: blur(18px); }
.header-inner { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; color: var(--foreground); text-decoration: none; }
.brand-logo { width: clamp(11.4rem, 18vw, 13.7rem); height: auto; }
.header-pilot { display: inline-flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.header-pilot > span { width: .5rem; height: .5rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 .25rem rgb(255 193 103 / 11%); }

.site-control { margin: 2rem auto; }
.site-control__items { display: grid; margin: 0; padding: 0 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; list-style: none; }
.site-control__item { display: flex; min-height: 4rem; align-items: center; justify-content: center; gap: .65rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: .65rem; color: var(--foreground); font-weight: 750; text-decoration: none; }
.site-control__item-surface { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--surface-raised); }
.site-control__item-surface svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.site-control__button, .site-control__backdrop { display: none; }

.js body { padding-bottom: 5.5rem; }
.js .site-control { position: fixed; z-index: 90; bottom: calc(1.5rem + env(safe-area-inset-bottom)); left: 50%; width: 4.25rem; height: 4.25rem; margin: 0; translate: -50% 0; }
.js .site-control__backdrop { position: fixed; z-index: 80; inset: 0; display: block; background: rgb(5 14 16 / 58%); opacity: 0; pointer-events: none; -webkit-backdrop-filter: blur(0) saturate(1); backdrop-filter: blur(0) saturate(1); transition: opacity 180ms var(--ease), -webkit-backdrop-filter 180ms var(--ease), backdrop-filter 180ms var(--ease); }
.js .site-control__backdrop[data-visible="true"] { opacity: 1; pointer-events: auto; -webkit-backdrop-filter: blur(9px) saturate(.88); backdrop-filter: blur(9px) saturate(.88); }
.js .site-control__items { position: absolute; inset: 50% auto auto 50%; display: block; width: 0; height: 0; margin: 0; padding: 0; }
.js .site-control__item-slot { position: absolute; top: 0; left: 0; width: 5.6rem; height: 4.9rem; visibility: hidden; opacity: 0; filter: blur(3px); pointer-events: none; transform: translate(-50%, -50%) scale(.28); transition: opacity 145ms var(--ease) calc(var(--menu-close-index) * 34ms), filter 145ms var(--ease) calc(var(--menu-close-index) * 34ms), transform 235ms var(--ease) calc(var(--menu-close-index) * 34ms), visibility 0s linear 340ms; }
.js .site-control[data-open="true"] .site-control__item-slot { visibility: visible; opacity: 1; filter: blur(0); pointer-events: auto; transition: opacity 145ms var(--ease) calc(var(--menu-index) * 34ms), filter 145ms var(--ease) calc(var(--menu-index) * 34ms), transform 235ms var(--ease) calc(var(--menu-index) * 34ms), visibility 0s linear; }
.js .site-control[data-open="true"] .site-control__item-slot:nth-child(1) { transform: translate(calc(-50% - min(8.1rem, 35vw)), calc(-50% - 4.4rem)) scale(1); }
.js .site-control[data-open="true"] .site-control__item-slot:nth-child(2) { transform: translate(calc(-50% - min(2.85rem, 13vw)), calc(-50% - 8.3rem)) scale(1); }
.js .site-control[data-open="true"] .site-control__item-slot:nth-child(3) { transform: translate(calc(-50% + min(2.85rem, 13vw)), calc(-50% - 8.3rem)) scale(1); }
.js .site-control[data-open="true"] .site-control__item-slot:nth-child(4) { transform: translate(calc(-50% + min(8.1rem, 35vw)), calc(-50% - 4.4rem)) scale(1); }
.js .site-control__item { display: flex; width: 5.6rem; min-height: 4.9rem; justify-content: flex-start; gap: .32rem; border: 0; background: transparent; padding: 0; font-size: .73rem; line-height: 1.1; text-align: center; flex-direction: column; transition: color 140ms var(--ease), transform 140ms var(--ease); }
.js .site-control__item-surface { width: 3.05rem; height: 3.05rem; border-color: var(--border-strong); background: rgb(16 35 40 / 96%); box-shadow: 0 7px 20px rgb(0 0 0 / 24%); transition: border-color 140ms var(--ease), background 140ms var(--ease), box-shadow 140ms var(--ease); }
.js .site-control__item-label { max-width: 5.6rem; opacity: 0; transform: translateY(-.25rem); transition: opacity 130ms var(--ease), transform 160ms var(--ease); }
.js .site-control[data-open="true"] .site-control__item-label { opacity: 1; transform: translateY(0); transition-delay: calc(85ms + var(--menu-index) * 34ms); }
.js .site-control__item:hover, .js .site-control__item:focus-visible { color: var(--primary); transform: translateY(-2px); }
.js .site-control__item:hover .site-control__item-surface, .js .site-control__item:focus-visible .site-control__item-surface { border-color: var(--primary); background: var(--surface-raised); box-shadow: 0 8px 28px rgb(101 209 223 / 18%); }
.js .site-control__item[aria-current="page"] .site-control__item-surface { border-color: var(--primary); box-shadow: inset 0 0 0 2px var(--background), 0 0 0 2px var(--primary), 0 8px 26px rgb(101 209 223 / 16%); }
.js .site-control__button { position: relative; z-index: 2; display: grid; width: 4.25rem; height: 4.25rem; place-items: center; border: 1px solid var(--primary); border-radius: 50%; background: linear-gradient(135deg, var(--primary), #83b7ff 58%, var(--secondary)); color: var(--primary-ink); box-shadow: 0 9px 30px rgb(101 209 223 / 28%); cursor: pointer; transition: transform 210ms var(--ease), box-shadow 180ms var(--ease); }
.js .site-control__button::before { position: absolute; inset: -.35rem; border: 1px solid rgb(101 209 223 / 42%); border-radius: 50%; content: ""; }
.js .site-control[data-open="false"] .site-control__button { animation: site-menu-attention 4s ease-in-out infinite; }
.js .site-control[data-open="true"] .site-control__button { transform: scale(.96) rotate(45deg); box-shadow: 0 4px 16px rgb(0 0 0 / 26%); }
.site-control__button-icon { display: grid; width: 1.28rem; height: 1.28rem; grid-template-columns: repeat(2, 1fr); gap: .28rem; }
.site-control__button-icon i { display: block; border-radius: 50%; background: currentColor; }
@keyframes site-menu-attention { 0%, 82%, 100% { transform: scale(1); box-shadow: 0 9px 30px rgb(101 209 223 / 28%); } 89% { transform: scale(1.045); box-shadow: 0 12px 38px rgb(170 167 255 / 40%); } 95% { transform: scale(1); } }

.button { display: inline-flex; min-height: 3rem; max-width: 100%; align-items: center; justify-content: center; border: 1px solid var(--primary); border-radius: .7rem; background: linear-gradient(120deg, var(--primary), #83b7ff 56%, var(--secondary)); padding: .72rem 1.15rem; color: var(--primary-ink) !important; font-weight: 800 !important; line-height: 1.2; text-align: center; text-decoration: none; overflow-wrap: break-word; white-space: normal; box-shadow: 0 10px 30px rgb(63 185 204 / 16%); transition: translate 160ms var(--ease), box-shadow 160ms var(--ease), filter 160ms var(--ease); }
.button:hover { translate: 0 -2px; filter: brightness(1.06); box-shadow: 0 15px 34px rgb(63 185 204 / 24%); }
.button-small { min-height: 2.55rem; padding: .6rem .9rem; font-size: .88rem !important; }
.button-secondary { border-color: var(--border-strong); background: rgb(16 35 40 / 78%); color: var(--foreground) !important; box-shadow: none; }

.hero { overflow: hidden; padding: 5.5rem 0 4.5rem; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1rem; color: var(--primary); font-size: .76rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 1.7rem; height: 1px; background: currentColor; }
h1, h2, h3 { margin-top: 0; line-height: 1.1; letter-spacing: -.035em; }
h1 { max-width: 12ch; margin-bottom: 1.4rem; font-size: clamp(3rem, 6vw, 5.7rem); font-weight: 760; }
h1 em { color: var(--primary); font-style: normal; }
h2 { max-width: 16ch; margin-bottom: 1.2rem; font-size: clamp(2.1rem, 4vw, 3.8rem); font-weight: 740; }
h3 { margin-bottom: .75rem; font-size: 1.28rem; }
.hero-lead, .large-copy { max-width: 40rem; color: var(--muted); font-size: clamp(1.08rem, 2vw, 1.28rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.pilot-note { margin: 1.1rem 0 0; color: var(--muted); font-size: .88rem; }
.pilot-note strong { color: var(--foreground); }
.pilot-banner { border-bottom: 1px solid rgb(255 193 103 / 24%); background: rgb(50 37 20 / 82%); }
.pilot-banner .shell { display: flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: 1rem; }
.pilot-banner strong { display: inline-flex; align-items: center; gap: .5rem; color: var(--accent); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.pilot-banner strong span { width: .55rem; height: .55rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 .28rem rgb(255 193 103 / 12%); }
.pilot-banner p { margin: 0; color: #ffe7c0; font-size: .88rem; }
.pilot-banner a { color: var(--foreground); font-size: .88rem; font-weight: 800; text-underline-offset: .2rem; }
.hero-visual { position: relative; margin: 0; isolation: isolate; }
.hero-visual::before { position: absolute; z-index: -1; inset: 8% 4% -4% 8%; border-radius: 50%; background: rgb(101 209 223 / 16%); filter: blur(64px); content: ""; }
.hero-visual picture { display: block; }
.hero-visual img { width: 100%; height: auto; border: 1px solid rgb(101 209 223 / 20%); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.visual-status { position: absolute; right: -1rem; bottom: -1.25rem; display: grid; width: min(18rem, 72%); border: 1px solid var(--border); border-radius: var(--radius-md); background: rgb(16 35 40 / 86%); padding: 1rem 1.1rem; box-shadow: var(--shadow); backdrop-filter: blur(16px); }
.visual-status strong { margin: .18rem 0; line-height: 1.25; }
.visual-status > span:last-child { color: var(--muted); font-size: .8rem; }
.status-kicker { color: var(--primary); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }

.trust-strip { border-block: 1px solid var(--border); background: rgb(16 35 40 / 48%); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-grid span { position: relative; padding: 1.15rem; color: var(--muted); font-size: .83rem; font-weight: 700; text-align: center; }
.trust-grid span + span::before { position: absolute; top: 30%; bottom: 30%; left: 0; width: 1px; background: var(--border); content: ""; }

.value-section { border-bottom: 1px solid var(--border); background: radial-gradient(circle at 88% 12%, rgb(170 167 255 / 11%), transparent 28rem), linear-gradient(150deg, rgb(16 35 40 / 68%), rgb(8 20 22 / 82%)); }
.value-intro { display: grid; align-items: end; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 7vw, 6rem); }
.value-intro h2 { max-width: 15ch; }
.value-promise { border: 1px solid rgb(101 209 223 / 38%); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(23 57 64 / 72%), rgb(16 35 40 / 76%)); padding: clamp(1.5rem, 4vw, 2.2rem); box-shadow: var(--shadow); }
.value-promise > span, .value-card > span { display: block; margin-bottom: .8rem; color: var(--primary); font-size: .7rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.value-promise strong { display: block; margin-bottom: .65rem; font-size: 1.3rem; line-height: 1.25; }
.value-promise p { margin: 0; color: var(--muted); }
.value-grid { display: grid; margin-top: 3rem; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.value-card { min-height: 100%; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgb(8 20 22 / 58%); padding: 1.5rem; }
.value-card--exam { border-color: rgb(170 167 255 / 38%); background: linear-gradient(145deg, rgb(40 42 72 / 46%), rgb(8 20 22 / 62%)); }
.value-card--exam > span { color: var(--secondary); }
.value-card h3 { margin-bottom: .65rem; }
.value-card p { margin: 0; color: var(--muted); }
.value-next { display: flex; align-items: center; gap: .65rem 1rem; margin-top: 1.25rem; border-top: 1px solid var(--border); padding-top: 1.25rem; flex-wrap: wrap; }
.value-next p { margin: 0; color: var(--muted); }
.value-next .text-link { margin-left: auto; }

.section { padding: clamp(5rem, 9vw, 8rem) 0; }
.section-deep { border-block: 1px solid var(--border); background: linear-gradient(145deg, rgb(16 35 40 / 68%), rgb(8 20 22 / 86%)); }
.section-heading { max-width: 50rem; margin-bottom: 3rem; }
.section-heading > p:last-child { max-width: 42rem; color: var(--muted); font-size: 1.08rem; }
.section-heading.compact { max-width: 40rem; }
.steps-grid { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(3, 1fr); gap: 1rem; list-style: none; }
.step-card, .feature-card { min-height: 100%; border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgb(22 49 56 / 74%), rgb(16 35 40 / 72%)); padding: 1.5rem; box-shadow: inset 0 1px rgb(255 255 255 / 4%); }
.step-card.featured { border-color: rgb(101 209 223 / 52%); transform: translateY(-.75rem); box-shadow: 0 18px 48px rgb(0 0 0 / 20%); }
.step-number, .feature-index { display: block; margin-bottom: 2rem; color: var(--primary); font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.step-card p, .feature-card p { margin-bottom: 0; color: var(--muted); }

/* Kompakter Lernpfad auf der Startseite */
.home-path { position: relative; display: grid; margin: 0; padding: 0; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; list-style: none; }
.home-path::before { position: absolute; top: 1.45rem; right: 7%; left: 7%; height: 2px; background: linear-gradient(90deg, var(--primary), var(--secondary)); content: ""; opacity: .42; }
.home-path-step { position: relative; min-width: 0; transition: opacity 500ms var(--ease), transform 500ms var(--ease); transition-delay: calc(var(--path-index) * 65ms); }
.home-path-marker { position: relative; z-index: 1; display: grid; width: 2.9rem; height: 2.9rem; margin-bottom: 1.2rem; place-items: center; border: 1px solid rgb(101 209 223 / 60%); border-radius: 50%; background: var(--background); color: var(--primary); font-size: .72rem; font-weight: 900; box-shadow: 0 0 0 .4rem var(--background), 0 0 24px rgb(101 209 223 / 12%); }
.home-path-step small { display: block; margin-bottom: .35rem; color: var(--primary); font-size: .67rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.home-path-step h3 { margin-bottom: .55rem; font-size: 1.02rem; line-height: 1.25; }
.home-path-step p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.path-explainer-link { display: flex; margin-top: 2rem; align-items: center; gap: 1rem; }
.path-explainer-link p { margin: 0; color: var(--muted); font-size: .9rem; }

/* Ausführlicher Ausbildungs- und Lernpfad */
.page-hero--journey { overflow: hidden; border-bottom: 1px solid var(--border); background: radial-gradient(circle at 82% 45%, rgb(101 209 223 / 12%), transparent 23rem); }
.page-hero--journey .shell { align-items: center; }
.page-hero--journey h1 { max-width: 14ch; }
.journey-overview { position: relative; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(22 49 56 / 78%), rgb(8 20 22 / 88%)); padding: 1.35rem; box-shadow: var(--shadow); }
.journey-overview ol { position: relative; display: grid; margin: 0; padding: 0; gap: .15rem; list-style: none; }
.journey-overview ol::before { position: absolute; top: 1.35rem; bottom: 1.35rem; left: 1.2rem; width: 1px; background: linear-gradient(var(--primary), var(--secondary)); content: ""; opacity: .5; }
.journey-overview li { position: relative; display: grid; min-height: 3.15rem; align-items: center; grid-template-columns: 2.45rem 1fr; gap: .75rem; }
.journey-overview li span { z-index: 1; display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 1px solid rgb(101 209 223 / 48%); border-radius: 50%; background: var(--surface); color: var(--primary); font-size: .68rem; font-weight: 900; }
.journey-overview li strong { font-size: .92rem; }

.journey-intro { border-bottom: 1px solid var(--border); background: rgb(16 35 40 / 42%); padding: 3.5rem 0; }
.journey-intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: clamp(2rem, 7vw, 6rem); }
.journey-intro h2 { margin-bottom: 0; font-size: clamp(2rem, 4vw, 3.2rem); }
.journey-intro-points { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.journey-intro-points p { margin: 0; border-left: 2px solid var(--primary); padding-left: 1.1rem; color: var(--muted); }
.journey-intro-points p + p { border-color: var(--secondary); }
.journey-intro-points strong { display: block; margin-bottom: .3rem; color: var(--foreground); }

.journey-section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.journey-layout { display: grid; grid-template-columns: 14.5rem minmax(0, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); }
.journey-rail { position: sticky; top: 6.5rem; }
.journey-rail-label { margin: 0 0 1rem; color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.journey-rail nav { position: relative; z-index: 1; display: grid; gap: .28rem; }
.journey-track { position: absolute; z-index: 0; top: 3.1rem; bottom: .8rem; left: 1.08rem; width: 2px; overflow: hidden; background: var(--border); }
.journey-track span { display: block; width: 100%; height: 100%; background: linear-gradient(var(--primary), var(--secondary)); transform: scaleY(var(--journey-progress, 0)); transform-origin: top; transition: transform 120ms linear; }
.journey-rail a { display: grid; min-height: 2.65rem; align-items: center; grid-template-columns: 2.2rem 1fr; gap: .7rem; border-radius: .65rem; padding: .3rem .45rem .3rem 0; color: var(--muted); font-size: .83rem; font-weight: 700; text-decoration: none; transition: background 180ms var(--ease), color 180ms var(--ease), transform 180ms var(--ease); }
.journey-rail a span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--background); color: var(--muted); font-size: .65rem; font-weight: 900; transition: inherit; }
.journey-rail a:hover { color: var(--foreground); }
.journey-rail a.is-active { background: rgb(101 209 223 / 8%); color: var(--foreground); transform: translateX(.2rem); }
.journey-rail a.is-active span { border-color: var(--primary); background: var(--primary); color: var(--primary-ink); box-shadow: 0 0 20px rgb(101 209 223 / 30%); }

.journey-list { display: grid; margin: 0; padding: 0; gap: 2rem; list-style: none; }
.journey-step { scroll-margin-top: 7rem; transition: opacity 520ms var(--ease), transform 520ms var(--ease); }
.journey-step article { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(22 49 56 / 68%), rgb(16 35 40 / 72%)); padding: clamp(1.35rem, 3.5vw, 2.35rem); box-shadow: inset 0 1px rgb(255 255 255 / 4%); transition: border-color 240ms var(--ease), box-shadow 240ms var(--ease); }
.journey-step.is-active article { border-color: rgb(101 209 223 / 52%); box-shadow: 0 22px 56px rgb(0 0 0 / 20%), inset 0 1px rgb(255 255 255 / 6%); }
.journey-step-header { display: grid; align-items: start; grid-template-columns: 3.25rem minmax(0, 1fr) auto; gap: 1rem; }
.journey-number { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border: 1px solid rgb(101 209 223 / 46%); border-radius: .85rem; background: rgb(101 209 223 / 8%); color: var(--primary); font-size: .78rem; font-weight: 900; }
.journey-kicker { margin: 0 0 .35rem; color: var(--primary); font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.journey-step h2 { max-width: 20ch; margin: 0; font-size: clamp(1.7rem, 3.5vw, 2.55rem); }
.journey-status { justify-self: end; border: 1px solid rgb(101 209 223 / 38%); border-radius: 999px; background: rgb(101 209 223 / 8%); padding: .38rem .68rem; color: var(--primary); font-size: .68rem; font-weight: 850; white-space: nowrap; }
.journey-status--growing { border-color: rgb(255 193 103 / 40%); background: rgb(255 193 103 / 8%); color: var(--accent); }
.journey-lead { max-width: 48rem; margin: 1.5rem 0; color: var(--foreground); font-size: 1.08rem; }
.journey-step article > p:not(.journey-lead, .journey-result, .journey-plain-note) { color: var(--muted); }
.journey-details { display: grid; margin: 1.5rem 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.journey-details > div { border-top: 1px solid var(--border-strong); padding: 1rem .3rem 0; }
.journey-details strong { display: block; margin-bottom: .35rem; color: var(--foreground); }
.journey-details p { margin: 0; color: var(--muted); font-size: .9rem; }
.journey-result, .journey-plain-note { margin: 1.5rem 0 0; border: 1px solid rgb(101 209 223 / 26%); border-radius: var(--radius-md); background: rgb(101 209 223 / 7%); padding: 1rem 1.1rem; color: var(--muted); }
.journey-result span { display: block; margin-bottom: .2rem; color: var(--primary); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.journey-plain-note { border-color: var(--border); background: rgb(8 20 22 / 48%); }

.curriculum-flow, .evidence-path { position: relative; display: grid; margin: 1.8rem 0; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; }
.curriculum-flow::before, .evidence-path::before { position: absolute; z-index: 0; top: 50%; right: 4%; left: 4%; height: 1px; background: linear-gradient(90deg, var(--primary), var(--secondary)); content: ""; opacity: .4; }
.curriculum-flow span, .curriculum-flow strong, .evidence-path span, .evidence-path strong { position: relative; z-index: 1; display: grid; min-height: 4.6rem; place-items: center; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); padding: .7rem; font-size: .77rem; line-height: 1.35; text-align: center; }
.curriculum-flow strong, .evidence-path strong { border-color: rgb(170 167 255 / 50%); background: linear-gradient(145deg, rgb(101 209 223 / 10%), rgb(170 167 255 / 12%)); color: var(--foreground); }
.journey-checks { display: grid; margin: 1.5rem 0 0; padding: 0; gap: .65rem; list-style: none; }
.journey-checks li { position: relative; padding-left: 1.65rem; color: var(--muted); }
.journey-checks li::before { position: absolute; top: .55rem; left: .2rem; width: .55rem; height: .55rem; border: 1px solid var(--primary); border-radius: 50%; background: rgb(101 209 223 / 18%); content: ""; }
.training-arc { position: relative; display: grid; margin: 1.8rem 0; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; }
.training-arc::before { position: absolute; top: 1.15rem; right: 7%; left: 7%; height: 2px; background: linear-gradient(90deg, var(--primary), var(--secondary)); content: ""; opacity: .4; }
.training-arc div { position: relative; z-index: 1; min-width: 0; text-align: center; }
.training-arc span { display: grid; width: 2.3rem; height: 2.3rem; margin: 0 auto .65rem; place-items: center; border: 1px solid var(--primary); border-radius: 50%; background: var(--surface); color: var(--primary); font-size: .72rem; font-weight: 900; }
.training-arc strong { font-size: .78rem; }

.decision-section { border-block: 1px solid var(--border); background: linear-gradient(130deg, rgb(22 49 56 / 64%), rgb(23 33 59 / 50%)); padding: clamp(4rem, 8vw, 6.5rem) 0; }
.decision-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.decision-grid h2 { max-width: 13ch; }
.decision-grid > div:first-child > p:last-child { color: var(--muted); }
.decision-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.decision-map span, .decision-map strong { border: 1px solid var(--border); border-radius: .75rem; background: rgb(8 20 22 / 52%); padding: .9rem; font-size: .83rem; text-align: center; }
.decision-map strong { grid-column: 1 / -1; border-color: rgb(101 209 223 / 50%); background: linear-gradient(90deg, rgb(101 209 223 / 13%), rgb(170 167 255 / 13%)); color: var(--foreground); }

/* Öffentlicher Status der Pilotphase */
.pilot-app-entry { position: relative; overflow: hidden; border-bottom: 1px solid rgb(101 209 223 / 22%); background: radial-gradient(circle at 50% 0%, rgb(101 209 223 / 18%), transparent 30rem), linear-gradient(180deg, rgb(16 35 40 / 72%), rgb(8 20 22 / 38%)); padding: clamp(3rem, 7vw, 5rem) 0; text-align: center; }
.pilot-app-entry .shell { display: flex; max-width: 48rem; align-items: center; flex-direction: column; }
.pilot-app-entry .eyebrow { justify-content: center; }
.pilot-app-entry h1 { max-width: none; margin-bottom: .75rem; font-size: clamp(2.65rem, 6vw, 4.8rem); }
.pilot-app-entry p:not(.eyebrow) { max-width: 38rem; margin: 0 0 2.15rem; color: var(--muted); font-size: 1.1rem; }
.pilot-app-entry small { display: block; margin-top: 1.15rem; color: var(--muted); }
.button-app-open { min-width: 12.5rem; min-height: 3.55rem; gap: .65rem; padding: .92rem 1.55rem; font-size: 1.03rem; box-shadow: 0 12px 34px rgb(63 185 204 / 22%); animation: app-open-attention 4.2s ease-in-out infinite; }
.button-app-open:hover, .button-app-open:focus-visible { animation-play-state: paused; }
.button-app-open span { font-size: 1.15em; transition: transform 160ms var(--ease); }
.button-app-open:hover span { transform: translate(.12rem, -.12rem); }
@keyframes app-open-attention { 0%, 76%, 100% { transform: scale(1); box-shadow: 0 12px 34px rgb(63 185 204 / 22%); } 85% { transform: scale(1.025); box-shadow: 0 15px 40px rgb(101 209 223 / 34%); } 92% { transform: scale(1); box-shadow: 0 12px 34px rgb(63 185 204 / 22%); } }
.pilot-page-hero { background: radial-gradient(circle at 82% 40%, rgb(255 193 103 / 12%), transparent 22rem); }
.pilot-main-heading { max-width: 13ch; font-size: clamp(2.8rem, 6vw, 5rem); }
.pilot-target { max-width: 38rem; margin-top: 2rem; border-left: 2px solid var(--accent); padding-left: 1.15rem; }
.pilot-target span { color: var(--accent); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pilot-target strong { display: block; margin: .25rem 0; font-size: 1.15rem; }
.pilot-target p { margin: 0; color: var(--muted); font-size: .9rem; }
.pilot-signal { border: 1px solid rgb(255 193 103 / 38%); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(62 45 25 / 76%), rgb(16 35 40 / 78%)); padding: 2rem; box-shadow: var(--shadow); }
.pilot-signal-dot { display: block; width: .8rem; height: .8rem; margin-bottom: 2.5rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 .45rem rgb(255 193 103 / 12%), 0 0 28px rgb(255 193 103 / 28%); }
.pilot-signal small { display: block; color: var(--accent); font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pilot-signal strong { display: block; margin: .35rem 0 .7rem; font-size: 1.5rem; }
.pilot-signal p { margin: 0; color: var(--muted); }
.pilot-readiness-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.pilot-readiness-grid article { border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgb(22 49 56 / 68%), rgb(16 35 40 / 72%)); padding: 1.5rem; }
.pilot-readiness-grid article > span { color: var(--primary); font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.pilot-readiness-grid h3 { margin: 1.4rem 0 .55rem; }
.pilot-readiness-grid p { margin: 0; color: var(--muted); }
.pilot-inline-access { display: flex; align-items: center; justify-content: space-between; gap: 3rem; margin-top: 2.5rem; border: 1px solid rgb(101 209 223 / 34%); border-radius: var(--radius-md); background: rgb(101 209 223 / 7%); padding: 1.75rem 2rem; }
.pilot-inline-copy { display: grid; min-width: 0; gap: .45rem; }
.pilot-inline-copy strong { font-size: 1.08rem; line-height: 1.3; }
.pilot-inline-copy p { margin: 0; color: var(--muted); line-height: 1.55; }
.pilot-inline-access .button-app-open { flex: 0 0 auto; }
.release-checks { display: grid; margin: 0; padding: 0; gap: .75rem; list-style: none; }
.release-checks li { display: grid; grid-template-columns: 1fr 1.8fr; gap: 1rem; border: 1px solid var(--border); border-radius: .8rem; background: rgb(8 20 22 / 52%); padding: 1rem; }
.release-checks span { color: var(--muted); }
.release-timeline { position: relative; display: grid; margin: 0; padding: 0; gap: .75rem; list-style: none; }
.release-timeline::before { position: absolute; top: 2rem; bottom: 2rem; left: 5.9rem; width: 1px; background: linear-gradient(var(--accent), var(--primary)); content: ""; opacity: .5; }
.release-timeline li { position: relative; display: grid; grid-template-columns: 5rem 1fr; gap: 2rem; }
.release-timeline li > span { z-index: 1; align-self: start; border: 1px solid var(--border); border-radius: 999px; background: var(--background); padding: .45rem .6rem; color: var(--muted); font-size: .7rem; font-weight: 850; text-align: center; }
.release-timeline li.is-current > span { border-color: var(--accent); color: var(--accent); }
.release-timeline li > div { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: 1.25rem; }
.release-timeline li strong { font-size: 1.08rem; }
.release-timeline li p { margin: .35rem 0 0; color: var(--muted); }

.js .home-path-step, .js .journey-step { opacity: .18; transform: translateY(1.25rem); }
.js .home-path-step.is-visible, .js .journey-step.is-visible { opacity: 1; transform: none; }
.split-feature { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.text-link { display: inline-flex; margin-top: 1rem; color: var(--primary); font-weight: 750; text-underline-offset: .3rem; }
.topic-panel { overflow: hidden; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: rgb(8 20 22 / 70%); box-shadow: var(--shadow); }
.topic-panel-head { display: grid; padding: 1.45rem 1.5rem 1rem; }
.topic-panel-head span { color: var(--primary); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.topic-panel-head strong { margin-top: .25rem; font-size: 1.25rem; }
.topic-progress { display: grid; padding: 0 1.5rem 1.35rem; grid-template-columns: repeat(4, 1fr); gap: .35rem; }
.topic-progress span { height: 3px; border-radius: 999px; background: var(--border); }
.topic-progress span:nth-child(-n+2) { background: var(--primary); }
.topic-panel ol { margin: 0; padding: 0; list-style: none; }
.topic-panel li { display: flex; align-items: center; gap: 1rem; border-top: 1px solid var(--border); padding: 1rem 1.5rem; }
.topic-panel li > span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.topic-panel li div { display: grid; }
.topic-panel li small { color: var(--muted); }
.topic-panel li.active { background: linear-gradient(90deg, rgb(101 209 223 / 10%), transparent); }
.topic-panel li.active > span, .topic-panel li.active strong { color: var(--primary); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.feature-card { transition: border-color 180ms var(--ease), translate 180ms var(--ease); }
.feature-card:hover { border-color: var(--border-strong); translate: 0 -.25rem; }
.comparison-section { border-block: 1px solid var(--border); background: linear-gradient(120deg, rgb(26 48 56 / 64%), rgb(24 33 59 / 48%)); }
.comparison-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 4rem; }
.comparison-list { display: grid; gap: 1rem; }
.comparison-list div { display: grid; gap: .35rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgb(8 20 22 / 56%); padding: 1.25rem; }
.comparison-list span { color: var(--muted); font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.comparison-list .positive { border-color: rgb(101 209 223 / 46%); background: rgb(21 59 67 / 54%); }
.comparison-list .positive span { color: var(--primary); }
.cta-section { padding-top: 4rem; }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 3rem; border: 1px solid rgb(101 209 223 / 42%); border-radius: var(--radius-lg); background: radial-gradient(circle at 10% 0%, rgb(101 209 223 / 15%), transparent 24rem), linear-gradient(135deg, var(--surface-raised), #17213b); padding: clamp(2rem, 5vw, 4rem); box-shadow: var(--shadow); }
.cta-panel h2 { max-width: 18ch; margin-bottom: .75rem; }
.cta-panel p:not(.eyebrow) { margin: 0; color: var(--muted); }
.cta-actions { display: flex; min-width: max-content; flex-direction: column; gap: .7rem; }

.site-footer { border-top: 1px solid var(--border); background: #071113; padding: 4rem 0 1.5rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; }
.footer-brand { margin-bottom: 1rem; }
.footer-grid p { max-width: 24rem; color: var(--muted); }
.footer-grid nav { display: grid; align-content: start; gap: .55rem; }
.footer-grid nav strong { margin-bottom: .4rem; font-size: .86rem; }
.footer-grid nav a { color: var(--muted); font-size: .9rem; text-decoration: none; }
.footer-grid nav a:hover { color: var(--foreground); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; border-top: 1px solid var(--border); padding-top: 1.25rem; color: var(--muted); font-size: .78rem; }

.page-hero { padding: 5rem 0 3.5rem; }
.page-hero .shell { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 4rem; }
.page-hero h1 { max-width: 13ch; font-size: clamp(2.8rem, 6vw, 5rem); }
.page-hero-copy { max-width: 38rem; color: var(--muted); font-size: 1.14rem; }
.page-hero-aside { border-left: 1px solid var(--border-strong); padding-left: 2rem; color: var(--muted); }
.page-hero-aside strong { display: block; margin-bottom: .45rem; color: var(--foreground); font-size: 1.05rem; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; color: var(--muted); font-size: .82rem; }
.breadcrumb a { text-underline-offset: .2rem; }
.breadcrumb span[aria-hidden="true"] { color: var(--border-strong); }
.content-wrap { width: min(calc(100% - 2rem), 880px); margin-inline: auto; }
.content-section { padding: 2.5rem 0 5.5rem; }
.content-section h2 { max-width: 20ch; margin-top: 4rem; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.content-section h2:first-child { margin-top: 0; }
.content-section h3 { margin-top: 2.25rem; }
.content-section p, .content-section li { color: var(--muted); }
.content-section strong { color: var(--foreground); }
.content-section a { color: var(--primary); text-underline-offset: .2rem; }
.plain-list { display: grid; gap: .75rem; padding-left: 1.2rem; }
.principle-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 2rem 0; }
.principle-card { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: 1.35rem; }
.principle-card h3 { margin-top: 0; }
.principle-card p { margin-bottom: 0; }
.process-list { display: grid; margin: 2.5rem 0; padding: 0; gap: 1rem; list-style: none; }
.process-list li { display: grid; grid-template-columns: 3.25rem 1fr; gap: 1rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgb(22 49 56 / 58%), rgb(16 35 40 / 68%)); padding: 1.25rem; }
.process-list li > span { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid rgb(101 209 223 / 38%); border-radius: .7rem; color: var(--primary); font-size: .75rem; font-weight: 900; }
.process-list h3 { margin: .1rem 0 .45rem; }
.process-list p { margin: 0; }
.faq-list { display: grid; gap: .75rem; }
.faq-list details { border: 1px solid var(--border); border-radius: var(--radius-md); background: rgb(16 35 40 / 72%); }
.faq-list details[open] { border-color: rgb(101 209 223 / 44%); }
.faq-list summary { position: relative; padding: 1.2rem 3.2rem 1.2rem 1.25rem; color: var(--foreground); font-weight: 760; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 50%; right: 1.2rem; color: var(--primary); content: "+"; font-size: 1.5rem; font-weight: 400; translate: 0 -50%; }
.faq-list details[open] summary::after { content: "−"; }
.faq-answer { padding: 0 1.25rem 1.25rem; }
.faq-answer p:first-child { margin-top: 0; }
.notice { margin: 0 0 2rem; border: 1px solid rgb(255 193 103 / 52%); border-radius: var(--radius-md); background: rgb(65 47 24 / 66%); padding: 1.2rem; color: #ffe4b8; }
.notice strong { display: block; margin-bottom: .3rem; color: var(--accent); }
.legal-data { border: 1px dashed var(--border-strong); border-radius: var(--radius-md); background: rgb(16 35 40 / 60%); padding: 1.25rem; }
.legal-data p { margin: .35rem 0; }
.legal-placeholder { color: var(--accent); font-weight: 750; }
.legal-toc { display: grid; margin: 2rem 0 3rem; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgb(16 35 40 / 58%); padding: 1.15rem; }
.legal-toc strong { grid-column: 1 / -1; margin-bottom: .25rem; color: var(--foreground); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.legal-toc a { border-radius: .55rem; background: rgb(8 20 22 / 54%); padding: .65rem .75rem; color: var(--muted); font-size: .85rem; text-decoration: none; }
.legal-toc a:hover { background: rgb(101 209 223 / 8%); color: var(--primary); }
.legal-summary { display: grid; margin: 0 0 2rem; grid-template-columns: 1fr auto; gap: 1rem; border-bottom: 1px solid var(--border); padding-bottom: 1.25rem; }
.legal-summary p { margin: 0; }
.legal-highlight { margin: 1.5rem 0; border: 1px solid rgb(101 209 223 / 36%); border-radius: var(--radius-md); background: linear-gradient(145deg, rgb(101 209 223 / 9%), rgb(16 35 40 / 74%)); padding: 1.25rem; }
.legal-highlight--important { border-color: rgb(255 193 103 / 50%); background: linear-gradient(145deg, rgb(255 193 103 / 10%), rgb(16 35 40 / 78%)); }
.legal-highlight > strong { display: block; margin-bottom: .55rem; color: var(--primary); font-size: 1.05rem; }
.legal-highlight--important > strong { color: var(--accent); }
.legal-highlight p:last-child { margin-bottom: 0; }
.legal-list { display: grid; padding-left: 1.3rem; gap: .65rem; }
.legal-list li { padding-left: .3rem; }
.legal-list li::marker { color: var(--primary); font-weight: 800; }
.legal-meta { margin-top: 3rem; border-top: 1px solid var(--border); padding-top: 1rem; font-size: .84rem; }
.legal-hub-hero { background: radial-gradient(circle at 82% 42%, rgb(170 167 255 / 11%), transparent 24rem); }
.legal-hub-grid { display: grid; margin: 1rem 0 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.legal-hub-card { display: grid; min-height: 100%; grid-template-columns: 2.8rem 1fr; gap: 1rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(22 49 56 / 76%), rgb(16 35 40 / 72%)); padding: 1.45rem; color: var(--foreground) !important; text-decoration: none; transition: border-color 160ms var(--ease), transform 160ms var(--ease), box-shadow 160ms var(--ease); }
.legal-hub-card:hover, .legal-hub-card:focus-visible { border-color: var(--primary); transform: translateY(-3px); box-shadow: 0 18px 42px rgb(0 0 0 / 22%); }
.legal-hub-card > span { display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid rgb(101 209 223 / 42%); border-radius: .75rem; color: var(--primary); font-size: .72rem; font-weight: 900; }
.legal-hub-card h2 { margin: .2rem 0 .75rem; font-size: 1.45rem; }
.legal-hub-card p { margin: 0 0 1.25rem; font-size: .92rem; }
.legal-hub-card strong { color: var(--primary); font-size: .86rem; }
.about-hero { background: radial-gradient(circle at 82% 42%, rgb(101 209 223 / 12%), transparent 24rem); }
.about-portrait-placeholder { display: grid; min-height: 20rem; place-content: center; border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(22 49 56 / 70%), rgb(8 20 22 / 82%)); color: var(--muted); text-align: center; }
.about-portrait-placeholder > span { display: grid; width: 7rem; height: 7rem; margin: 0 auto 1.2rem; place-items: center; border: 1px solid var(--border-strong); border-radius: 50%; background: rgb(101 209 223 / 7%); color: var(--primary); font-size: .75rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.about-portrait-placeholder strong { color: var(--foreground); }
.about-portrait-placeholder small { margin-top: .35rem; }
.about-intro-grid { display: grid; align-items: start; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 6vw, 5rem); }
.about-intro-grid h2, .about-story h2 { margin-top: 0; }
.about-facts { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); padding: 1.4rem; }
.about-facts > span { display: block; margin-bottom: 1rem; color: var(--primary); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.about-facts dl, .about-facts dd { margin: 0; }
.about-facts dl { display: grid; gap: .9rem; }
.about-facts dl > div { border-bottom: 1px solid var(--border); padding-bottom: .8rem; }
.about-facts dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.about-facts dt { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.about-facts dd { color: var(--foreground); font-weight: 700; }
.about-story { max-width: 52rem; margin: 5rem 0 3rem; }
.about-principles { margin-bottom: 4rem; }
.topic-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin: 2rem 0; }
.topic-tags span { border: 1px solid var(--border); border-radius: 999px; background: var(--surface); padding: .45rem .75rem; color: var(--muted); font-size: .86rem; font-weight: 650; }
.editorial-quote { margin: 3rem 0; border-left: 3px solid var(--primary); padding: .7rem 0 .7rem 1.5rem; color: var(--foreground); font-size: clamp(1.3rem, 3vw, 1.75rem); line-height: 1.35; }
.editorial-quote cite { display: block; margin-top: .8rem; color: var(--muted); font-size: .86rem; font-style: normal; }
.page-cta { margin-top: 4rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--surface-raised), #17213b); padding: 2rem; }
.page-cta h2 { margin-top: 0; }
.page-cta .hero-actions { margin-top: 1.5rem; }
.page-cta .pilot-final-actions { margin-top: 2.25rem; }

.ai-page-hero { background: radial-gradient(circle at 82% 40%, rgb(170 167 255 / 13%), transparent 24rem); }
.ai-promise { border-color: rgb(170 167 255 / 40%); background: linear-gradient(145deg, rgb(42 43 75 / 62%), rgb(16 35 40 / 78%)); }
.wide-content { max-width: 72rem; }
.ai-data-flow { position: relative; display: grid; margin: 2.5rem 0 4rem; padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; list-style: none; }
.ai-data-flow::before { position: absolute; top: 1.45rem; right: 8%; left: 8%; height: 2px; background: linear-gradient(90deg, var(--primary), var(--secondary)); content: ""; opacity: .42; }
.ai-data-flow li { position: relative; }
.ai-data-flow li > span { position: relative; z-index: 1; display: grid; width: 2.9rem; height: 2.9rem; margin-bottom: 1.1rem; place-items: center; border: 1px solid rgb(101 209 223 / 55%); border-radius: 50%; background: var(--background); color: var(--primary); font-size: .7rem; font-weight: 900; box-shadow: 0 0 0 .35rem var(--background); }
.ai-data-flow small { display: block; margin-bottom: .35rem; color: var(--secondary); font-size: .67rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ai-data-flow h3 { margin-bottom: .55rem; font-size: 1.05rem; }
.ai-data-flow p { margin: 0; color: var(--muted); font-size: .88rem; }
.ai-boundary-grid { display: grid; margin: 4rem 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ai-boundary-card { border: 1px solid rgb(170 167 255 / 38%); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(37 39 68 / 55%), rgb(16 35 40 / 74%)); padding: clamp(1.4rem, 4vw, 2.4rem); }
.ai-boundary-card.is-safe { border-color: rgb(101 209 223 / 45%); background: linear-gradient(145deg, rgb(19 61 66 / 58%), rgb(16 35 40 / 74%)); }
.ai-boundary-card h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }

@media (max-width: 1100px) {
  .legal-hub-grid, .value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-path { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2rem; }
  .home-path::before { display: none; }
  .home-path-step { border-top: 1px solid var(--border); padding-top: 1rem; }
  .home-path-marker { margin-bottom: .9rem; box-shadow: none; }
}

@media (max-width: 900px) {
  .pilot-banner .shell { align-items: flex-start; flex-direction: column; gap: .1rem; padding-block: .7rem; }
  .hero { padding-top: 3.5rem; }
  .hero-grid, .split-feature, .comparison-grid, .value-intro { grid-template-columns: 1fr; }
  .hero-copy { max-width: 46rem; }
  .hero-visual { width: min(100%, 44rem); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid span:nth-child(3)::before { display: none; }
  .steps-grid, .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .step-card.featured { transform: none; }
  .cta-panel { align-items: flex-start; flex-direction: column; }
  .cta-actions { width: 100%; min-width: 0; flex-direction: row; flex-wrap: wrap; }
  .page-hero .shell { grid-template-columns: 1fr; align-items: start; gap: 1.5rem; }
  .page-hero-aside { border-top: 1px solid var(--border-strong); border-left: 0; padding-top: 1.25rem; padding-left: 0; }
  .journey-intro-grid, .decision-grid { grid-template-columns: 1fr; }
  .journey-layout { grid-template-columns: 1fr; }
  .journey-rail { position: static; }
  .journey-track { display: none; }
  .journey-rail nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .journey-rail a { grid-template-columns: 1.9rem 1fr; padding-right: .3rem; font-size: .76rem; }
  .journey-rail a span { width: 1.9rem; height: 1.9rem; }
  .journey-rail a.is-active { transform: none; }
  .ai-data-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-data-flow::before { display: none; }
  .legal-hub-grid { grid-template-columns: 1fr; }
  .about-intro-grid { grid-template-columns: 1fr; }
  .pilot-inline-access { align-items: stretch; flex-direction: column; gap: 1.5rem; }
  .pilot-inline-access .button-app-open { width: min(100%, 16rem); }
}

@media (max-width: 700px) {
  .hero-visual { width: 100%; }
  .visual-status { position: static; width: 100%; margin-top: .85rem; }
}

@media (max-width: 620px) {
  .shell { width: min(calc(100% - 1.25rem), var(--max-width)); }
  .header-inner { min-height: 4.4rem; }
  .brand-logo { width: 11.2rem; }
  .header-pilot { max-width: 7rem; justify-content: flex-end; font-size: .62rem; line-height: 1.25; text-align: right; }
  .hero { padding: 2.75rem 0 3.5rem; }
  h1 { font-size: clamp(2.65rem, 14vw, 4rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .hero-actions, .cta-actions { flex-direction: column; }
  .hero-actions .button, .cta-actions .button { width: 100%; }
  .visual-status { right: .65rem; bottom: -.8rem; }
  .trust-grid, .steps-grid, .feature-grid { grid-template-columns: 1fr; }
  .value-grid { grid-template-columns: 1fr; }
  .value-next { align-items: flex-start; flex-direction: column; }
  .value-next .text-link { margin-left: 0; }
  .trust-grid span + span::before { top: 0; right: 25%; bottom: auto; left: 25%; width: auto; height: 1px; }
  .section { padding: 4.5rem 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .principle-grid { grid-template-columns: 1fr; }
  .process-list li { grid-template-columns: 1fr; }
  .pilot-readiness-grid { grid-template-columns: 1fr; }
  .pilot-inline-access { padding: 1.5rem; }
  .pilot-inline-access .button-app-open { width: 100%; }
  .release-checks li { grid-template-columns: 1fr; gap: .3rem; }
  .release-timeline::before { left: 1rem; }
  .release-timeline li { grid-template-columns: 1fr; gap: .55rem; padding-left: 2.3rem; }
  .release-timeline li > span { justify-self: start; }
  .legal-toc { grid-template-columns: 1fr; }
  .legal-summary { grid-template-columns: 1fr; }
  .home-path { grid-template-columns: 1fr; gap: 0; }
  .home-path::before { display: block; top: 1.45rem; right: auto; bottom: 2rem; left: 1.43rem; width: 2px; height: auto; background: linear-gradient(var(--primary), var(--secondary)); }
  .home-path-step { display: grid; grid-template-columns: 2.9rem 1fr; gap: 1rem; border-top: 0; padding: 0 0 1.7rem; }
  .home-path-marker { margin: 0; }
  .path-explainer-link { align-items: stretch; flex-direction: column; }
  .journey-overview { padding: 1rem; }
  .journey-intro { padding: 3rem 0; }
  .journey-intro-points { grid-template-columns: 1fr; }
  .journey-section { padding-top: 3.5rem; }
  .journey-rail nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey-step-header { grid-template-columns: 2.8rem 1fr; }
  .journey-number { width: 2.8rem; height: 2.8rem; }
  .journey-status { grid-column: 2; justify-self: start; white-space: normal; }
  .journey-details { grid-template-columns: 1fr; }
  .curriculum-flow, .evidence-path { grid-template-columns: 1fr; }
  .curriculum-flow::before, .evidence-path::before { top: 4%; right: auto; bottom: 4%; left: 50%; width: 1px; height: auto; }
  .curriculum-flow span, .curriculum-flow strong, .evidence-path span, .evidence-path strong { min-height: 3.8rem; }
  .training-arc { grid-template-columns: 1fr; gap: .45rem; }
  .training-arc::before { top: 6%; right: auto; bottom: 6%; left: 1.14rem; width: 2px; height: auto; }
  .training-arc div { display: grid; align-items: center; grid-template-columns: 2.3rem 1fr; gap: .75rem; text-align: left; }
  .training-arc span { margin: 0; }
  .decision-map { grid-template-columns: 1fr; }
  .decision-map strong { grid-column: auto; }
  .ai-data-flow, .ai-boundary-grid { grid-template-columns: 1fr; }
  .ai-data-flow { gap: 1.5rem; }
  .about-portrait-placeholder { min-height: 15rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .js .home-path-step, .js .journey-step { opacity: 1; transform: none; }
}
