/* Launch additions extend the reviewed orange/navy system. */
:root {
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --text-muted: #a3b2bf;
  --launch-small: .875rem;
  --launch-body: 1rem;
  --launch-heading: clamp(1.5rem, 2.4vw, 2.25rem);
  --accent-text: #ff7a45;
  color-scheme: dark;
}
html[data-theme="light"] {
  --ink: #faf8f5;
  --ink-2: #efede8;
  --ink-3: #e4e9ec;
  --text: #0b1218;
  --text-dim: #374b58;
  --text-muted: #526573;
  --line: rgba(11,18,24,.14);
  --line-strong: rgba(11,18,24,.26);
  --orange-hover: #b33e0d;
  --accent-text: #b33e0d;
  color-scheme: light;
}
html[data-theme="light"] .training-page { --text-muted: #526573; }
html[data-theme="light"] .nav,
html[data-theme="light"] .nav.scrolled { background: rgba(250,248,245,.97); }
html[data-theme="light"] :is(.accent, .section-eyebrow, .eyebrow, .status strong, .chain-num, .cred-num, .engage-card-num, .brand-name span:last-child, .foot-col h5) { color: var(--accent-text); }
html[data-theme="light"] :is(h1.hero-h .accent, h2 .accent) { color: var(--accent-text); }
html[data-theme="light"] .nile {
  --text: #f4f1ed;
  --orange: #ff7a45;
}
html[data-theme="light"] .nile .accent { color: #ff7a45; }
html[data-theme="light"] .nav-links a.nav-bykes { color: #176479; }
html[data-theme="light"] .training-page :is(input, select, textarea) { color-scheme: light; }
html[data-theme="light"] .portrait,
html[data-theme="light"] .book-cover-frame img { box-shadow: 0 24px 48px -24px rgba(11,18,24,.4); }
body .btn-primary, body .nav-cta { background: #ff5f1f; color: #0b1218; }
body .btn-primary:hover, body .nav-cta:hover,
body .btn-ghost:hover:not(:disabled) { background: #ff7a45; color: #0b1218; }
[hidden] { display: none !important; }
button, input, select, textarea { font-family: var(--sans); }
button, summary { cursor: pointer; }
:is(a, button, input, select, textarea, summary, [tabindex="-1"]):focus-visible {
  outline: 2px solid var(--accent-text);
  outline-offset: 4px;
}
html { scroll-padding-top: 110px; }
.site-skip { position: absolute; left: -9999px; }
.site-skip:focus { left: var(--space-4); top: var(--space-4); z-index: 300; background: var(--ink); color: var(--text); padding: var(--space-4); }
.nav-inner { gap: var(--space-4); flex-wrap: wrap; }
.brand { flex-shrink: 0; }
.brand img { flex-shrink: 0; }
.theme-toggle, .nav-toggle {
  font: 500 var(--launch-small)/1.2 var(--sans);
  min-height: 44px;
  min-width: 54px;
  padding: var(--space-2);
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  color: var(--text);
  background: transparent;
}
.theme-toggle:hover, .nav-toggle:hover { background: var(--ink-3); }
.nav-toggle { display: none; }
.brand-name span:last-child { font-size: .75rem; }
.nav-links { font-size: .75rem; gap: var(--space-4); flex-wrap: wrap; min-width: 0; flex: 1 1 0; }
.nav-links a, .training-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.nav-cta { white-space: nowrap; }
.launch-note { font: 400 var(--launch-small)/1.7 var(--sans); color: var(--text-dim); margin-top: var(--space-5); max-width: 72ch; }
.launch-note a, .privacy-copy a { text-decoration: underline; text-underline-offset: 4px; }
.launch-note strong { color: var(--text); }
.wims-local { padding: clamp(var(--space-6), 4vw, var(--space-12)); box-shadow: none; }
.wims-local .section-eyebrow { letter-spacing: .1em; }
.wims-local h3 { font-size: var(--launch-heading); text-transform: none; max-width: 28ch; }
.wims-local p { color: var(--text-dim); max-width: 70ch; }
.wims-local blockquote { font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1.5; margin: var(--space-6) 0; max-width: 55ch; }
.wims-local .cta-row { margin: var(--space-6) 0 0; }
.collaboration-copy { max-width: 72ch; padding-top: var(--space-10); margin-top: var(--space-10); border-top: 1px solid var(--line-strong); }
.collaboration-copy p { color: var(--text-dim); margin-bottom: var(--space-5); }
.pilot-section { background: var(--ink-2); border-block: 1px solid var(--line); }
.pilot-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-12); align-items: start; }
.pilot-list { list-style: none; margin-top: var(--space-6); }
.pilot-list li { border-top: 1px solid var(--line-strong); padding-block: var(--space-5); line-height: 1.7; color: var(--text-dim); }
.pilot-list strong { display: block; color: var(--text); }
.pilot-grid > .scope-note { grid-column: 1 / -1; margin-top: 0; }
.local-contact-planner { text-align: left; margin-top: var(--space-8); border-top: 1px solid var(--line-strong); }
.local-contact-planner > summary { min-height: 44px; padding-block: var(--space-5); font-size: var(--launch-body); }
.local-contact-planner .signup-form { margin-top: var(--space-6); }
.reader-cover { max-width: 360px; margin-inline: auto; }
.reader-cover img { width: 100%; height: auto; }
.reader-cover figcaption { font: 400 var(--launch-small)/1.6 var(--sans); color: var(--text-muted); margin-top: var(--space-5); }
.reader-page .training-hero { padding-top: var(--space-16); }
.reader-page .reader-subtitle { font: 600 var(--launch-body)/1.6 var(--sans); color: var(--accent-text); margin-bottom: var(--space-6); }
.reader-page .request-form > label { margin-top: var(--space-6); }
.reader-page .reader-policy { margin-top: var(--space-8); }
.reader-policy p { margin-bottom: var(--space-5); color: var(--text-dim); line-height: 1.75; }
.reader-page .request-review pre { font: 400 var(--launch-small)/1.75 var(--sans); white-space: pre-wrap; overflow-wrap: anywhere; margin-top: var(--space-6); }
.privacy-copy { max-width: 75ch; }
.privacy-copy p { font-size: var(--launch-body); color: var(--text-dim); line-height: 1.75; margin-bottom: var(--space-5); }
.contact-review h3 { font-size: 1.125rem; }
.contact-review .cta-row { margin-bottom: 0; }
.signup-form .field label { font-size: .75rem; }
.signup-form .field :is(input, select, textarea) { font-size: 1rem; min-width: 0; width: 100%; }
.signup-form textarea { font: inherit; color: var(--text); background: var(--ink-2); padding: var(--space-4); border: 1px solid var(--line-strong); resize: vertical; }
.signup-form .check-label { display: flex; gap: var(--space-3); align-items: start; font-size: var(--launch-small); line-height: 1.6; color: var(--text-dim); }
.signup-form .check-label input { width: 22px; height: 22px; flex-shrink: 0; accent-color: #ff5f1f; }
.contact-review button { width: auto; }
.contact-validation { color: var(--accent-text); font-size: var(--launch-small); }
.contact-validation:empty { display: none; }
.foot-col a { min-height: 44px; }
/* Keep the public preview action discoverable without removing the author portrait. */
.hero h1.hero-h { font-size: clamp(2.25rem, 4.1vw, 4rem); margin-bottom: 0; }
.hero .hero-definition {
  font-family: var(--sans);
  font-size: clamp(1.125rem, 1.8vw, 1.7rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--text-dim);
  margin: 20px 0 var(--space-6);
}
.hero .eyebrow { margin-bottom: var(--space-6); }
.hero .hero-lede { font-size: clamp(1rem, 1.2vw, 1.125rem); margin-bottom: var(--space-6); }
@media (max-width: 900px) {
  .hero .portrait-wrap { order: 0; }
  .hero { padding-top: var(--space-8); }
}
@media (max-width: 600px) {
  .hero .portrait-wrap { width: 100%; max-width: 208px; margin-inline: auto; }
}
/* Public reading must remain available without JavaScript. */
.reveal, .reveal-scale, .reveal-stagger > * { opacity: 1; transform: none; }
html:not(.js-ui) .theme-toggle, html:not(.js-ui) .nav-toggle { display: none !important; }
html:not(.js-ui) .nav-inner { flex-wrap: wrap !important; }
html:not(.js-ui) .nav-links, html:not(.js-ui) .training-nav { display: flex !important; flex-wrap: wrap; }
@media (max-width: 1350px) {
  #nav .nav-inner, .training-page .nav-inner { position: relative; flex-wrap: nowrap; }
  #nav .nav-links, .training-page .training-nav { display: none; }
  #nav .nav-toggle, .training-page .nav-toggle { display: block; margin-left: auto; }
  #nav .nav-links.is-open, .training-page .training-nav.is-open {
    display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column;
    gap: 0; padding: var(--space-4); background: var(--ink); border: 1px solid var(--line-strong);
    max-height: calc(100dvh - 100px); overflow: auto;
  }
  #nav .nav-links a, .training-page .training-nav a { padding: var(--space-4); }
}
@media (max-width: 850px) { .pilot-grid { grid-template-columns: 1fr; gap: var(--space-6); } }
@media (max-width: 640px) {
  #nav .nav-inner, .training-page .nav-inner { padding: var(--space-3) var(--space-4); gap: var(--space-2); }
  #nav .nav-cta, .training-page .nav-cta { display: none; }
  #nav .brand, .training-page .brand { gap: var(--space-2); font-size: .75rem; letter-spacing: .06em; }
  #nav .brand img, .training-page .brand img { width: 32px; height: 32px; }
  .nav-toggle, .theme-toggle { font-size: .8125rem; }
  .reader-page .training-hero { padding-top: var(--space-8); }
  .reader-page .hero-training-grid { gap: var(--space-8); }
  .reader-cover { max-width: 250px; }
  .reader-page .cta-row .btn { width: 100%; }
  .contact-review .cta-row { flex-direction: column; align-items: stretch; }
  html:not(.js-ui) .nav-links, html:not(.js-ui) .training-nav { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
