@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Serif+Display:ital@0;1&display=swap');

/* A complete light editorial palette.  This file loads last, so every dark-theme
   utility receives an explicit, readable counterpart instead of isolated fixes. */
:root {
  --bg: #f6f1e8;
  --panel: #fffaf1;
  --ink: #1e223e;
  --muted: #626876;
  --text-muted: #626876;
  --text-secondary: #4f5563;
  --line: rgba(30, 34, 62, .22);
  --fine: rgba(30, 34, 62, .12);
  --border-strong: rgba(30, 34, 62, .42);
  --amber: #a87524;
  --accent-subtle: rgba(168, 117, 36, .12);
}

html, body { background: var(--bg); color: var(--ink); }
.grain { opacity: .045; mix-blend-mode: multiply; }
.site-header,
.site-header.is-scrolled { background: rgba(246, 241, 232, .94); border-color: var(--fine); backdrop-filter: blur(16px); }
.wordmark, .wordmark span, footer .wordmark, footer>a:last-of-type { color: var(--ink); }
.wordmark i { color: #454b5b; opacity: 1; }
nav, nav>a:not(.nav-acquire) { color: #4b5262; }
nav>a:not(.nav-acquire):hover { color: var(--ink); }
.nav-acquire { color: var(--ink); border-color: rgba(30, 34, 62, .42); background: rgba(255, 250, 241, .65); }
.nav-acquire:hover { background: var(--ink); border-color: var(--ink); color: #fffaf1; }

.hero { background: linear-gradient(100deg, #f6f1e8 0 58%, #252b4c 58%) !important; grid-template-columns: 1fr !important; padding-left: 9vw !important; }
.hero:after { content: "§\A 001"; white-space: pre; position: absolute; right: 11%; top: 14%; font: clamp(100px, 18vw, 250px)/.7 "DM Serif Display", Georgia, serif; color: #d1ad62; }
.hero h1, .hero h1::first-line { font: italic 400 clamp(76px, 11vw, 176px)/.75 "DM Serif Display", Georgia, serif !important; color: var(--ink) !important; max-width: 8ch; }
.hero h1 em { color: #5c6478 !important; }
.eyebrow, .section-marker { color: #596171 !important; }
.hero-line { color: var(--ink); }
.hero-description { color: var(--text-secondary) !important; }
.availability-label { color: #875d1d !important; }
.availability-note { color: #3f4657 !important; }
.button { color: var(--ink); border-color: var(--border-strong); }
.button span, .nav-acquire span { color: #875d1d; }
.button-quiet { border-bottom-color: var(--border-strong); }
.button-quiet:hover { color: #875d1d; border-bottom-color: #875d1d; }
.hero .button-solid, .acquire .button-solid { background: var(--ink); border-color: var(--ink); color: #fffaf1; }
.hero .button-solid span, .acquire .button-solid span { color: #f0c773; }
.hero .button-solid:hover, .acquire .button-solid:hover { background: #3a4161; border-color: #3a4161; color: #fffaf1; }

/* Keep technical content legible on paper sections. */
.matrix { background: #252b4c; border-color: rgba(255, 250, 241, .26); color: #fffaf1; box-shadow: 0 24px 70px rgba(30, 34, 62, .18); }
.matrix-caption, .matrix-foot, .rule-block span, .rule-status { color: #c9cfdd !important; }
.matrix-foot, .matrix-grid, .rule-block { border-color: rgba(255, 250, 241, .18); }
.rule-block { background: rgba(255, 255, 255, .025); }
.rule-block strong, .rule-block strong b { color: #fffaf1 !important; }
.rule-status, .matrix .live-state b { color: #f0c773 !important; }
.hero-index { color: #5b6273; }.hero-index i { background: var(--line); }
.concept, .infrastructure, .possibilities, .principles, .philosophy, .acquire { border-color: var(--fine); }
.concept-lines p, .infra-header p, .possibility-title>p, .domain-list p, .principles p, .statement p, .acquire-content>p:not(.eyebrow) { color: var(--text-secondary) !important; }
.concept-lines p:nth-child(5), .translation b, .domain-list h3, .principles h3, .statement h2, .acquire h2 { color: var(--ink); }
.translation { border-color: var(--line); }.translation span, .translation small, .domain-list span, .principles article span { color: var(--muted); }
.translation div { opacity: .72; }.translation i { opacity: .7; color: #875d1d; }.translation.pipeline-active div, .translation.pipeline-active i { opacity: 1; }
.domain-list article, .principles-grid, .principles article { border-color: var(--line); }
.domain-list article:hover { background: rgba(30, 34, 62, .035); border-color: var(--border-strong); }
.philosophy { background: radial-gradient(circle at 50% 55%, rgba(168, 117, 36, .13), transparent 31%); }
.word-merge em { color: #525969; }.word-merge i { color: #875d1d; }
.statement { background: linear-gradient(90deg, transparent 49.96%, var(--fine) 50%, transparent 50.05%); }
.acquire { background: #eae2d2; }.acquire-content small, footer small { color: #515867; }
.acquire-mark { -webkit-text-stroke-color: rgba(30, 34, 62, .22); }
footer { color: var(--text-secondary); border-color: var(--line); background: #eee7da; }
footer .wordmark:before { color: #875d1d; }

@media (max-width: 800px) {
  .site-header, .site-header.is-scrolled { background: rgba(246, 241, 232, .97); }
  nav { background: rgba(246, 241, 232, .99) !important; border-color: var(--line); }
  nav>a { border-color: var(--fine); }
  .hero { padding-left: clamp(20px, 8.35vw, 120px) !important; background: linear-gradient(145deg, #f6f1e8 0 70%, #252b4c 70%) !important; }
  .hero:after { right: 8%; top: 18%; opacity: .78; }
}
