/* Blue color system. Layout and editorial content remain in style.css/index.html. */
:root {
  --paper: #f6f9fd;
  --ink: #182f50;
  --muted: #5d6e85;
  --blue: #24558c;
  --ice: #a9d2ff;
  --line: #d9e2ee;
  --accent: #386daf;
  --surface: #eaf0f8;
  --surface-hover: #e0ebf9;
  --panel: #e2ecf8;
  --header: #f6f9fdf5;
}
:root[data-theme='dark'] {
  --paper: #0d1728;
  --ink: #e4edfa;
  --muted: #a9b9d0;
  --blue: #386fab;
  --ice: #9ccaff;
  --line: #2a3c56;
  --accent: #94c1ff;
  --surface: #142238;
  --surface-hover: #1a2d48;
  --panel: #192e4a;
  --header: #0d1728f5;
}
.header { background: var(--header); }
.nav-wrap { justify-content: initial; }
.nav-wrap nav { margin-left: auto; }
.nav-cta { margin-left: 12px; }
.skip-link:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; padding: 0; overflow: hidden; white-space: nowrap; }
.announcement { background: #142b4d; color: #edf4ff; }
.announcement a, .announcement .status-dot { color: #bbdcff; }
.button-dark { background: #204d86; color: #fff; }
.button-dark:hover { background: #3268aa; }
.button-ice { background: #b6d8ff; color: #173557; }
.button-ice:hover { background: #d5eaff; }
.brand-dot, .small-cross, .serif, .icon-box, .tiny-star, .cred-icon { color: var(--accent); }
.nav-wrap nav a:hover { color: var(--accent); }
.outcome-card { background: var(--surface); border-color: var(--line); }
.outcome-card:hover { background: var(--surface-hover); }
.item-number, .card-tag, .programme-tabs button span, .expertise-list article>span,
.step-head>span, .insight-content .eyebrow { color: var(--muted); }
.programme-visual, .prompt-art, .founder-monogram { background: var(--panel); }
.pill { background: var(--surface); border-color: var(--line); color: var(--accent); }
.orbit { border-color: #86a6cf; }
.orbit-core { background: #214c84; color: #b9d9ff; }
.orbit-label { background: var(--paper); border-color: var(--line); color: var(--ink); }
.check-list li:before, .check-circle { color: var(--accent); }
.check-circle { border-color: var(--accent); }
.process-section { background: var(--surface); }
.step-head { border-color: var(--line); }
.prompt-bracket { color: #7198cd; }
.prompt-art div>span { color: var(--muted); }
.prompt-art strong span { color: var(--accent); }
.trust-art { background: #19385f; }
.trust-word { color: #edf4ff; }
.trust-word em { color: #b6d8ff; }
.faq-section>div>p>a { border-color: var(--line); }
.contact-section { background: #dceaff; }
.contact-mark, .contact-section h2 .serif { color: #3867a3; }
.contact-section>p:not(.eyebrow), .contact-note { color: #435f83; }
.contact-section:before, .contact-section:after { border-color: #94b6e445; }
.finance-section { background: #142f52; color: #f2f6ff; }
.finance-copy .eyebrow { color: #bbd8ff; }
.finance-copy h2 .serif { color: #a7ceff; }
.finance-copy>p:not(.eyebrow) { color: #c2d2e8; }
.book-intro em { color: #eff6ff; }
.finance-copy .book-intro { border-color: #6c9bcf; }
.finance-topics span { color: #d5e6fb; border-color: #506a8b; }
.book-badge { background: #b8d9ff; color: #19385f; outline-color: #b8d9ff55; }
.book-caption, .finance-bottom { color: #bbcee7; }
.book-object img { opacity: 1; visibility: visible; object-fit: contain; background: #071324; }
.book-object { flex-shrink: 0; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  border-radius: 5px;
  transition: background .2s, border-color .2s;
}
.theme-toggle:hover { background: var(--surface); border-color: var(--accent); }
.theme-toggle svg { width: 20px; height: 20px; }
.theme-toggle .sun-icon { display: none; }
[data-theme='dark'] .theme-toggle .sun-icon { display: block; }
[data-theme='dark'] .theme-toggle .moon-icon { display: none; }
[data-theme='dark'] .button-dark { background: #9bc7ff; color: #112744; }
[data-theme='dark'] .button-dark:hover { background: #bfdeff; }
[data-theme='dark'] .hero-art { background: radial-gradient(ellipse at 62% 40%, #2a466b, #1c324f 50%, #14243d); }
[data-theme='dark'] .growth-art { filter: brightness(1.35) saturate(1.1); }
[data-theme='dark'] .art-topline i { background: #a1caff; }
[data-theme='dark'] .art-card { background: #142840f5; border-color: #476488; box-shadow: 0 14px 34px #0003; }
[data-theme='dark'] .card-icon { background: #294565; color: #c3dfff; }
[data-theme='dark'] .micro-label { color: #b3c8e3; }
[data-theme='dark'] .avatar-mini { background: #acd3ff; color: #173451; }
[data-theme='dark'] .contact-section { background: #1d3a60; }
[data-theme='dark'] .contact-mark, [data-theme='dark'] .contact-section h2 .serif { color: #a9ceff; }
[data-theme='dark'] .contact-section>p:not(.eyebrow), [data-theme='dark'] .contact-note { color: #bed2ed; }
[data-theme='dark'] .skip-link { background: #abd1ff; color: #112744; }
/* Preserve usable header controls and legibility on narrow touch screens. */
@media (max-width: 1100px) and (min-width: 901px) {
  .nav-wrap { gap: 16px; }
  .nav-wrap nav { gap: 18px; }
}
@media (max-width: 900px) {
  .nav-cta { margin-left: auto; }
  .nav-wrap nav { margin-left: 0; }
  .menu-button { width: 44px; height: 44px; flex: 0 0 44px; }
  .nav-wrap { gap: 12px; }
}
@media (max-width: 640px) {
  .nav-wrap { gap: 8px; }
  .nav-wrap .brand { font-size:28px; letter-spacing: -1.3px; }
  .nav-wrap .brand svg { width: 26px; height: 26px; margin-right: 5px; }
  .nav-cta { min-height: 44px; padding: 10px 12px; gap: 10px; }
  .hero-actions { flex-wrap: wrap; }
  .hero-description, .programme-copy>p, .about-intro>p:not(.eyebrow),
  .finance-copy>p:not(.eyebrow) { font-size:17px; }
  .outcome-card p, .process-grid p, .insight-content p, .expertise-list p,
  .faq-list details p { font-size:16px; }
  .programme-tabs button { min-height: 48px; font-size:15px; }
  .faq-list summary { min-height: 52px; font-size:16px; }
  .hero-note, .contact-note { font-size:12px; }
  .footer-links { font-size:15px; }
  .footer-links a { padding-block: 4px; }
  .footer-contact>a { font-size:15px; }
  .footer-bottom, .footer-bottom button { font-size:12px; }
  .footer-bottom button { min-height: 44px; }
}
@media (max-width: 380px) {
  .nav-wrap { gap: 6px; }
  .nav-wrap .brand { font-size:25px; }
  .nav-wrap .brand svg { width: 23px; margin-right: 4px; }
  .nav-cta { gap: 0; padding-inline: 9px; font-size:12px; }
  .nav-cta span { display: none; }
}
