/* Standalone dark adaptation of the learning portal landing composition. */
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.button:disabled { opacity: .6; cursor: not-allowed; }
.privacy-copy { max-width: 800px; padding-block: 56px; }
.privacy-copy h2 { margin-top: 32px; }
.privacy-copy p { color: #cad4e1; line-height: 1.75; margin-top: 16px; }
:root[data-theme="dark"] { --muted: 215 27% 83%; }
.session-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; list-style: none; padding: 0; margin: 32px 0 0; }
.session-steps li { border-top: 2px solid #ff7800; padding-top: 20px; }
.session-steps h3 { display: flex; align-items: center; gap: 12px; font-size: 27px; font-weight: 650; color: #f8fafc; margin-bottom: 12px; }
.step-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px; height: 30px; border: 1px solid #ff7800; border-radius: 50%; color: #ffaf50; background: #ff780012; font-size: 15px; font-weight: 600; line-height: 1; }
.session-steps p { color: #cad4e1; font-size: 17px; line-height: 1.7; }
.session-section { padding-bottom: 0; }
.flight-preview { border: 1px solid #334256; border-radius: 14px; overflow: hidden; background: #101a29; box-shadow: 0 24px 70px #0003; }
.preview-top, .result-heading, .result-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.preview-top { padding: 18px 28px; border-bottom: 1px solid #334256; font-size: 14px; }
.preview-label { color: #f0f4fa; font-size: 14px; }
.preview-body { padding: 32px; }
.result-heading h3 { font-size: 26px; font-weight: 550; letter-spacing: -.025em; }
.result-heading p { font-size: 14px; color: #b8c2d0; margin-top: 10px; }
.record-status { color: #a3dfbe; background: #19362c; border: 1px solid #35614c; border-radius: 30px; padding: 8px 14px; font-size: 13px; }
.flight-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 28px 0; }
.flight-stats div { padding: 18px; background: #0a1220; border: 1px solid #29384c; border-radius: 8px; }
.flight-stats dt { font-size: 12px; color: #b8c2d0; }
.flight-stats dd { font-size: 28px; margin: 10px 0 0; font-variant-numeric: tabular-nums; }
.trace-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.trace, .scenario-summary { background: #0a1220; border: 1px solid #29384c; border-radius: 8px; padding: 20px; }
.trace h4, .scenario-summary h4 { margin: 0 0 16px; font-size: 15px; font-weight: 550; }
.trace h4 { display: flex; justify-content: space-between; gap: 12px; }
.trace h4 span { font-size: 13px; color: #b8c2d0; }
.trace svg { display: block; width: 100%; height: auto; }
.chart-grid { fill: none; stroke: #263347; stroke-width: 1; }
.chart-line { fill: none; stroke: #ffaf50; stroke-width: 2.5; }
.trace-axis { display: flex; justify-content: space-between; color: #b8c2d0; font-size: 12px; margin-top: 6px; }
.scenario-summary p { font-size: 14px; line-height: 1.7; color: #b8c2d0; }
.scenario-summary .objective-name { color: white; margin-bottom: 12px; }
.objective-name span { margin-left: 16px; color: #b8c2d0; }
.result-footer { margin-top: 24px; font-size: 15px; color: #f0f4fa; }
.retry-preview { padding: 12px 18px; background: #ff7800; color: #0a1220; border-radius: 6px; font-weight: 650; }
.flight-preview figcaption { padding: 18px 28px; border-top: 1px solid #29384c; color: #b8c2d0; font-size: 12px; line-height: 1.7; }
.benefit-cta { display: flex; width: fit-content; margin: 24px auto 0; }
.review-findings { margin: 0 0 24px; display: grid; gap: 20px; }
.review-findings dt { font-size: 28px; color: #ffaf50; }
.review-findings dd { margin: 6px 0 0; color: #d1dbe8; font-size: 15px; line-height: 1.6; }
.session-story { display: grid; grid-template-columns: repeat(5,1fr); list-style: none; padding: 0; margin: 0; gap: 0; }
.session-story li { border-top: 2px solid #4f667e; padding: 18px 18px 0 0; }
.session-story li:last-child { padding-right: 0; }
.session-story time { display: block; font-size: 22px; color: #d1dbe8; font-variant-numeric: tabular-nums; }
.session-story h4 { font-size: 16px; margin: 14px 0 10px; line-height: 1.4; }
.session-story p { font-size: 14px; line-height: 1.65; color: #cad4e1; }
.session-story .failure-event { border-color: #4f667e; }
.failure-event time { color: #d1dbe8; }
.timeline-demo { margin-top: 28px; border: 1px solid #334256; border-radius: 12px; padding: 28px; background: #101a29; }
.timeline-demo .result-heading { margin-bottom: 28px; }
.demo-lane { display: grid; grid-template-columns: 90px 1fr; gap: 16px; align-items: center; margin-top: 16px; font-size: 14px; }
.demo-track { position: relative; height: 26px; border-radius: 6px; background: #202d3f; }
.demo-mark { position: absolute; top: 4px; height: 18px; width: 18px; border-radius: 50%; transform: translateX(-50%); border: 2px solid #101a29; }
.demo-mark.good { background: #4fb281; }.demo-mark.active { background: #4c99f7; }
.event-tick { position: absolute; height: 16px; top: 5px; width: 3px; background: #b8c2d0; }
.demo-axis { display: flex; justify-content: space-between; margin: 10px 0 0 106px; color: #b8c2d0; font-size: 12px; }
.event-key { display: flex; flex-wrap: wrap; gap: 12px 28px; list-style: none; padding: 0; margin: 20px 0 28px; font-size: 13px; color: #b8c2d0; }
.demo-summary { font-size: 14px; margin-bottom: 16px; }
.progress-demo { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; list-style: none; padding: 0; }
.progress-demo li { background: #0a1220; padding: 16px; border-radius: 6px; border: 1px solid #334256; }
.progress-demo strong { display: block; font-size: 14px; margin-bottom: 10px; }.progress-demo span { font-size: 13px; }
.state-good { color: #a3dfbe; }.state-active { color: #8bbcff; }
.demo-note { font-size: 12px; line-height: 1.6; color: #b8c2d0; margin-top: 20px; }
@media(max-width:700px) {
  .session-steps, .flight-stats { grid-template-columns: 1fr 1fr; }
  .trace-grid, .progress-demo { grid-template-columns: 1fr; }
  .preview-body, .timeline-demo { padding: 20px; }
  .preview-top, .result-heading, .result-footer { flex-wrap: wrap; }
  .result-heading h3 { font-size: 23px; }
  .demo-lane { grid-template-columns: 1fr; gap: 8px; }.demo-axis { margin-left: 0; }
}
.frame { width: calc(100% - 96px); max-width: 1280px; }
.section { padding-block: 64px; }
.session-section { padding-bottom: 0; }
.product-section { padding-top: 52px; }
.site-header { min-height: 96px; }
.site-header .identity img { width: 270px; height: auto; }
.hero { background: radial-gradient(ellipse at 12% 110%, hsl(var(--orange) / .18), transparent 60%), radial-gradient(ellipse at 95% 65%, hsl(215 50% 50% / .06), transparent 65%); }
.hero-lines { background: repeating-linear-gradient(90deg, transparent, transparent calc(20% - 1px), hsl(var(--line) / .22) calc(20% - 1px), hsl(var(--line) / .22) 20%); }
.show-callout { display: inline-flex; flex-direction: column; gap: 8px; margin-top: 28px; padding-left: 16px; border-left: 3px solid #ff7800; font-size: 14px; line-height: 1.5; }
.show-callout strong { color: #ffaf50; font-weight: 600; }
.show-callout > span { color: #cad4e1; }
.show-callout:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.hero-content { padding-block: 64px 72px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
.hero h1 { font-size: clamp(44px, 4.4vw, 64px); line-height: 1.06; letter-spacing: -.045em; }
.hero .desktop-break { display: none; }
.hero-copy { min-width: 0; }
.hero-result { min-width: 0; border: 1px solid #405169; border-radius: 12px; background: #101a29; box-shadow: 0 24px 64px #0003; }
.hero-result .preview-top { padding: 18px 22px; }
.hero-result-body { padding: 24px; }
.hero-result h2 { font-size: 24px; letter-spacing: -.025em; line-height: 1.2; }
.hero-result p { color: #cad4e1; font-size: 14px; margin-top: 12px; }
.hero-metrics { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: center; margin: 24px 0; font-size: 13px; color: #cad4e1; }
.hero-metrics strong { font-size: 24px; color: #fff; }
.hero-result .quiet-link { margin-top: 20px; font-size: 14px; }
.trace img { width: 100%; height: auto; }
.flight-chart, .flight-chart img { display: block; width: 100%; height: auto; }
.chart-reading { font-size: 14px; line-height: 1.6; color: #cad4e1; margin-top: 16px; }
.trace-grid .scenario-summary { grid-column: auto; }
.hero-description { max-width: 61ch; font-size: 20px; line-height: 1.65; margin-top: 28px; }
.hero-note { line-height: 1.7; font-size: 14px; }
.hero-actions { margin-top: 28px; }
.connection-line { height: 64px; opacity: .48; }
.button { font-size: 16px; padding: 16px 24px; gap: 28px; }
.quiet-link { font-size: 16px; }
.ecosystem-strip { padding-block: 32px; }
.partner-strip { gap: 24px; }
.partner-strip li { flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 20px 16px; background: #101a29; border: 1px solid #334256; border-radius: 8px; }
.partner-name { display: flex; align-items: center; justify-content: center; min-height: 48px; color: #f0f4fa; font-size: 18px; font-weight: 600; line-height: 1.3; }
a.partner-name:hover { text-decoration: underline; text-underline-offset: 4px; }
.partner-strip li > span { font-size: 13px; }
.partner-strip .partner-art { display: flex; align-items: center; justify-content: center; width: 160px; max-width: 100%; height: 120px; padding: 10px; overflow: hidden; }
.partner-art img { display: block; object-position: center; }
.partner-art:has(img[src$="noun-to-learn.png"]) { background: #e4edf4; }
.partner-art img[src$="pilot-lounge-sim.webp"] { object-fit: cover; }
.section-heading { display: grid; grid-template-columns: 1.15fr 1fr; align-items: start; gap: 64px; margin-bottom: 36px; }
.section-heading h2, .direction h2 { font-size: clamp(32px, 3.1vw, 44px); line-height: 1.15; letter-spacing: -.035em; }
.section-heading > p { font-size: 17px; line-height: 1.75; max-width: 48ch; }
.product-section > .training-image img { aspect-ratio: 2.25; object-fit: cover; object-position: center 48%; }
.benefits { gap: 32px; margin-top: 40px; }
.benefits article { display: flex; flex-direction: column; }
.benefits h3 { font-size: 24px; line-height: 1.3; letter-spacing: -.025em; }
.benefits p { font-size: 16px; line-height: 1.75; margin: 16px 0 24px; }
.benefits a { margin-top: auto; font-size: 14px; }
.direction-grid { grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.direction-copy h2 { margin-bottom: 24px; }
.direction .direction-lead { font-size: 19px; line-height: 1.65; margin-bottom: 20px; }
.direction p:not(.eyebrow) { font-size: 16px; line-height: 1.75; }
.direction .quiet-link { margin-top: 20px; }
.partners-title { font-size: 16px; font-weight: 500; color: hsl(var(--muted)); margin-bottom: 28px; }
.training-image { margin: 0; }
.training-image img { width: 100%; height: auto; border-radius: 12px; border: 1px solid hsl(var(--line)); }
.benefits-section { border-top: 0; padding-top: 24px; }
.debrief-image { margin: 0; }
.debrief-image img { aspect-ratio: 1.1; object-fit: cover; object-position: 48% center; }
.partner-art { display: block; }
.benefits article { border-top: 1px solid hsl(var(--line)); padding-top: 28px; }
.direction .roadmap-note { margin-top: 24px; font-size: 15px; }
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; }
.contact h2 { font-size: clamp(32px, 3.1vw, 44px); font-weight: 550; line-height: 1.15; letter-spacing: -.035em; }
.contact-intro p { font-size: 18px; line-height: 1.8; color: hsl(var(--muted)); max-width: 40ch; margin: 28px 0; }
.demo-agenda { margin-top: 36px; padding-top: 24px; border-top: 1px solid #334256; }
.demo-agenda h3 { font-size: 19px; font-weight: 600; }
.demo-agenda ul { padding-left: 20px; margin: 16px 0; color: #d1dbe8; font-size: 16px; line-height: 1.7; }
.demo-agenda li + li { margin-top: 10px; }
.contact-intro .demo-agenda p { font-size: 15px; line-height: 1.7; margin-bottom: 0; }
.email-link { display: inline-block; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
form { display: grid; gap: 22px; min-width: 0; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
label { display: block; font-size: 14px; line-height: 1.5; }
input, select, textarea { display: block; width: 100%; min-width: 0; margin-top: 8px; padding: 13px 14px; color: hsl(var(--fg)); background: hsl(var(--card)); border: 1px solid hsl(var(--line)); border-radius: 6px; font: inherit; font-size: 16px; }
textarea { resize: vertical; }
textarea::placeholder { color: hsl(var(--muted)); }
.optional, .form-note { color: hsl(var(--muted)); }
.form-note, #form-status { font-size: 13px; line-height: 1.7; }
button.button { border: 0; cursor: pointer; justify-self: start; }
#form-status:empty { display: none; }
.site-footer { padding-bottom: 28px; }
@media (max-width: 1000px) {
  .session-story { grid-template-columns: 1fr; gap: 0; }
  .session-story li { position: relative; border-top: 0; border-left: 2px solid #4f667e; padding: 0 0 24px 24px; }
  .session-story li:last-child { padding-bottom: 0; }
  .session-story time { font-size: 20px; }
  .session-story h4 { margin-top: 8px; }
  .hero-content { grid-template-columns: 1fr; gap: 40px; }
  .hero-result { max-width: 660px; width: 100%; }
  .frame { width: calc(100% - 64px); }
  .contact, .section-heading, .direction-grid { gap: 32px; }
  .partner-strip { gap: 16px; }
  .partner-strip .partner-art { width: 128px; height: 100px; padding: 8px; }
}
@media (max-width: 700px) {
  .frame { width: calc(100% - 40px); }
  .section { padding-block: 56px; }
  .hero-content { padding-block: 56px 80px; }
  .hero-description { font-size: 18px; }
  .section-heading, .direction-grid { grid-template-columns: 1fr; gap: 24px; }
  .section-heading > p { margin-top: 0; }
  .benefits { grid-template-columns: 1fr; gap: 28px; }
  .benefits h3 { min-height: 0; }
  .partner-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .partner-strip li:last-child { grid-column: 1 / -1; justify-self: center; width: calc((100% - 24px) / 2); }
  .partner-strip .partner-art { width: 144px; height: 112px; }
  .product-section > .training-image img, .debrief-image img { aspect-ratio: 1.1; }
  .preview-top, .hero-result .preview-top { flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px; }
  .flight-chart img { aspect-ratio: 320 / 250; }
  .trace { padding: 12px; }
  .direction-copy { grid-row: 1; }
  .site-header { flex-wrap: wrap; padding-block: 16px; gap: 12px; }
  .site-header .identity img { width: 220px; }
  .header-actions { margin-left: auto; }
  .contact { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .hero-note { max-width: 40ch; }
}
@media (max-width: 400px) { .site-header .identity img { width: 180px; }.button.small { font-size: 12px; padding: 12px; } }
