/* Metatron Health World 01 — unified editorial system */
:root {
  --paper: #f7f3e9;
  --paper-deep: #eee8da;
  --paper-soft: #fbf9f4;
  --ink: #17241f;
  --ink-2: #53615b;
  --forest: #173f35;
  --forest-bright: #286a58;
  --moss: #728061;
  --clay: #b85f42;
  --amber: #a27b2f;
  --mineral: #53717b;
  --red: #98432f;
  --line: #d8d0c0;
  --white: #fffdf8;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: Aptos, "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --display: var(--serif);
  --gutter: clamp(1.1rem, 4vw, 4.5rem);
  --section: clamp(3.2rem, 6vw, 6.2rem);
  --section-tight: clamp(2rem, 3.5vw, 3.75rem);
  --measure: 68ch;
  --radius: 1.25rem;
  --shadow: 0 24px 64px rgba(23, 63, 53, .09);
}

html { scroll-padding-top: 76px; }
body {
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/1.62 var(--sans);
  text-rendering: optimizeLegibility;
}
b, strong { font-weight: 700; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
img { max-width: 100%; }

.site-header {
  min-height: 68px;
  padding: .65rem var(--gutter);
  background: rgba(23, 63, 53, .97);
  border: 0;
  backdrop-filter: blur(18px);
}
.brand { gap: .62rem; font-size: .98rem; letter-spacing: -.015em; }
.brand-mark { width: 32px; height: 36px; }
.site-header nav { gap: .2rem; }
.site-header nav a {
  min-height: 40px;
  padding: .48rem .7rem;
  border-radius: 999px;
  color: rgba(255, 253, 248, .78);
  font-size: .76rem;
  letter-spacing: .015em;
}
.site-header nav a:hover,
.site-header nav a[aria-current="page"] { background: rgba(255,255,255,.1); color: var(--white); }
.site-header nav a[href^="/traditions/"]:not([href="/traditions/"]) { display: none; }

.eyebrow {
  margin: 0 0 .8rem;
  color: var(--clay);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .16em;
}

h1,
.home-hero h1,
.page-hero h1,
.world-hero h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--ink);
  font: 400 clamp(3rem, 5.3vw, 6rem)/.94 var(--display) !important;
  letter-spacing: -.052em;
}
h2,
.intro-block h2,
.section-heading h2,
.method-preview h2,
.graph-head h2,
.daily-articles-head h2,
.article-world-summary h2 {
  margin: 0;
  font: 400 clamp(2rem, 3.35vw, 3.85rem)/1.01 var(--display) !important;
  letter-spacing: -.042em;
}
h3 { font: 400 clamp(1.25rem, 1.7vw, 1.65rem)/1.15 var(--display) !important; letter-spacing: -.025em; }
.standfirst,
.page-hero .standfirst,
.world-hero .standfirst,
.hero-copy > p:not(.eyebrow) {
  max-width: 60ch;
  color: var(--ink-2);
  font: 400 clamp(1.05rem, 1.35vw, 1.28rem)/1.5 var(--sans);
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
  gap: clamp(2rem, 5vw, 6.5rem);
  align-items: center;
  min-height: 0;
  padding: clamp(2.4rem, 5vw, 5.4rem) var(--gutter);
  background:
    radial-gradient(circle at 10% 15%, rgba(184, 95, 66, .08), transparent 27rem),
    var(--paper);
}
.hero-copy { width: auto; max-width: 710px; }
.home-hero h1 em { color: var(--forest); font-style: italic; }
.hero-copy > p:not(.eyebrow) { margin: 1.25rem 0 0; }
.hero-art {
  position: relative;
  inset: auto;
  height: clamp(390px, 51vw, 660px);
  overflow: hidden;
  border-radius: 50% 50% var(--radius) var(--radius);
  box-shadow: var(--shadow);
}
.hero-art::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(23,63,53,.16));
  content: "";
}
.hero-art img { width: 100%; height: 100%; object-fit: cover; }
.search-box label { margin: 1.6rem 0 .5rem; color: var(--ink-2); font-size: .76rem; }
.search-box > div,
.search-box.standalone {
  max-width: 640px;
  padding: .3rem;
  border: 1px solid rgba(23, 63, 53, .4);
  border-radius: 999px;
  background: var(--white);
  box-shadow: 0 8px 30px rgba(23,63,53,.07);
}
.search-box input { padding: .65rem 1rem; }
.search-box button,
.button { min-height: 42px; border-radius: 999px; padding: .68rem 1.15rem; font-size: .82rem; font-weight: 700; }
.hero-discovery-meta { display: flex; gap: .7rem 1.4rem; flex-wrap: wrap; margin-top: .8rem; font-size: .72rem; color: var(--ink-2); }

.trust-strip { padding: 0 var(--gutter); border-color: var(--line); background: var(--paper-soft); }
.trust-strip span { padding: .9rem .6rem; color: var(--ink-2); font-size: .64rem; }

.intro-block,
.world-grid-section,
.method-preview,
.governance-preview,
.daily-articles-home,
.article-world { padding: var(--section) var(--gutter); }
.intro-block { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.intro-block h2 { max-width: 17ch; }
.intro-block > p:last-child { max-width: 59ch; margin: .3rem 0 0; font-size: 1rem; }

.world-grid-section { background: var(--paper-deep); }
.section-heading,
.daily-articles-head,
.article-world-summary,
.graph-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .62fr); gap: 2rem 6vw; align-items: end; margin-bottom: clamp(1.7rem, 3vw, 3rem); }
.section-heading > p,
.daily-articles-head > p,
.article-world-summary > p,
.graph-head > p { max-width: 58ch; margin: 0; color: var(--ink-2); }
.world-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; border: 0; }
.world-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: .75rem;
  border: 1px solid rgba(23,63,53,.12);
  border-radius: var(--radius);
  background: var(--paper-soft);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.world-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.world-card-image { order: -1; width: 100%; aspect-ratio: 4 / 3; margin: 0 0 1rem; overflow: hidden; border-radius: calc(var(--radius) - .4rem); }
.world-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.world-card:hover .world-card-image img { transform: scale(1.035); }
.world-card > span { grid-row: auto; color: var(--clay); font-size: .62rem; }
.world-card h2, .world-card h3 { margin: .4rem 0; font-size: clamp(1.5rem, 2vw, 2.2rem) !important; }
.world-card p { margin: 0; font-size: .88rem; line-height: 1.52; }
.world-card b { margin-top: auto; padding-top: 1rem; color: var(--forest); font-size: .76rem; }

.method-preview { gap: 8vw; background: var(--forest); }
.method-preview h2 { max-width: 12ch; color: var(--white); }
.method-preview li { padding: .9rem 0; }
.method-preview li b { font-weight: 700; }

.daily-articles-home { background: var(--paper); border-bottom: 1px solid var(--line); }
.article-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.3rem; border: 0; background: transparent; }
.article-card {
  min-height: 0;
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper-soft);
  box-shadow: none;
}
.article-card:hover { transform: none; border-color: rgba(23,63,53,.35); box-shadow: 0 14px 40px rgba(23,63,53,.07); }
.article-card-image { margin: -1.15rem -1.15rem 1rem; width: calc(100% + 2.3rem); border-radius: var(--radius) var(--radius) 0 0; }
.article-card-body { padding: 0; }
.article-card .article-type { color: var(--clay); font-size: .64rem; }
.article-card h2, .article-card h3 { margin: .5rem 0 .65rem; font-size: clamp(1.28rem, 1.55vw, 1.6rem) !important; }
.article-card p { font-size: .87rem; }

.page-hero,
.world-hero { padding: var(--section-tight) var(--gutter); background: var(--paper); }
.page-hero.compact { padding-block: clamp(2rem, 4vw, 4rem); }
.page-hero:not(.compact) { min-height: 0; }
.page-hero:not(.compact)::after { border-radius: var(--radius); box-shadow: none; }
.world-hero { grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); }
.world-hero-image { border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }

.on-page { padding: .8rem var(--gutter); }
.world-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 6vw; padding: var(--section-tight) var(--gutter); }
.prose-section { grid-template-columns: minmax(150px, .48fr) 1.52fr; gap: 2rem; padding: 1.75rem 0; }
.prose-section p, .prose-wide p, .prose-wide li { max-width: var(--measure); font-size: 1rem; line-height: 1.7; }
.world-layout aside { top: 88px; border: 0; border-radius: var(--radius); }
.claims-section, .sources, .version-panel, .prose-wide, .content-grid, .risk-grid, .contact-grid, .directory-grid, .status-notice, .search-app, .world-page > .safety-banner, .commerce-disclosure, .marketplace-catalogue, .commerce-pathways { margin-left: var(--gutter); margin-right: var(--gutter); }

.article-world { padding-top: var(--section-tight); }
.article-world-hero::after { display: none; }
.article-status-strip { border-radius: var(--radius); overflow: hidden; }
.article-main,
.article-body {
  max-width: 1120px;
  margin-inline: auto;
}
.article-body { font-family: var(--serif); font-size: clamp(1.08rem, 1.2vw, 1.2rem); line-height: 1.75; }
.article-body p, .article-body li { max-width: 70ch; }
.article-body h2 { max-width: 18ch; margin-top: 2.2em; }
.publication-boundary { border-radius: 0 var(--radius) var(--radius) 0; }

.graph-explorer { margin: 0 var(--gutter) var(--section); padding: var(--section-tight) 0 0; border-top: 1px solid var(--line); }
.graph-tools { display: grid; grid-template-columns: minmax(230px, 1fr) auto; gap: 1rem; align-items: center; }
.graph-filter { min-height: 44px; padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.graph-worlds { display: flex; gap: .5rem; overflow-x: auto; padding: 1rem 0 .3rem; scrollbar-width: thin; }
.graph-world-button { flex: 0 0 auto; min-height: 38px; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--forest); font-size: .72rem; cursor: pointer; }
.graph-world-button[aria-pressed="true"] { border-color: var(--forest); background: var(--forest); color: var(--white); }
.graph-legend { display: flex; gap: 1rem; padding: .8rem 0; font-size: .7rem; }
.graph-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--paper-soft); }
.graph-viewport { min-height: 550px; background: radial-gradient(circle at 50% 50%, rgba(23,63,53,.045), transparent 70%); overflow: hidden; }
.evidence-graph { display: block; width: 100%; height: 550px; }
.graph-edge { fill: none; stroke: rgba(23,63,53,.25); stroke-width: 1.4; transition: opacity 180ms ease; }
.graph-edge.is-muted { opacity: .1; }
.graph-column-label { fill: var(--ink-2); font: 700 10px var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.graph-node { outline: none; cursor: pointer; }
.graph-node rect { stroke-width: 1.4; transition: fill 180ms ease, stroke 180ms ease; }
.graph-node.entity rect { fill: var(--forest); stroke: var(--forest); }
.graph-node.claim rect { fill: #f5ead1; stroke: var(--amber); }
.graph-node.source rect { fill: #edf2ef; stroke: #8aa096; }
.graph-node text { fill: var(--ink); font: 600 11px/1.2 var(--sans); pointer-events: none; }
.graph-node.entity text { fill: var(--white); }
.graph-node:hover rect, .graph-node:focus rect, .graph-node.is-selected rect { stroke: var(--clay); stroke-width: 2.5; }
.graph-node.is-muted { opacity: .2; }
.graph-detail { min-height: 550px; padding: 1.35rem; border-left: 1px solid var(--line); background: var(--white); }
.graph-detail h3 { margin: .2rem 0 .8rem; }
.graph-detail p { color: var(--ink-2); font-size: .86rem; }
.graph-detail dl { margin: 1rem 0; border-top: 1px solid var(--line); }
.graph-detail dl div { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.graph-detail dt { color: var(--ink-2); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.graph-detail dd { margin: .1rem 0 0; font-size: .82rem; font-weight: 700; }
.graph-mobile-paths { display: none; }

.safety-banner { border-radius: 0 var(--radius) var(--radius) 0; }
.home-safety { margin: 0; padding: var(--section-tight) var(--gutter); }
.site-footer { padding: var(--section-tight) var(--gutter) 1.5rem; }
.ai-act-disclosure, .site-footer .ai-act-disclosure { font-size: 9px !important; }

@media (max-width: 1050px) {
  .site-header nav a { padding-inline: .55rem; }
  .world-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .site-header { min-height: 62px; }
  .site-header nav a[href^="/traditions/"]:not([href="/traditions/"]) { display: flex; }
  .home-hero { grid-template-columns: 1fr; padding-top: 2.2rem; }
  .hero-copy { max-width: none; }
  .hero-art { height: min(72vw, 520px); border-radius: var(--radius); }
  .intro-block,
  .section-heading,
  .daily-articles-head,
  .article-world-summary,
  .graph-head,
  .world-hero { grid-template-columns: 1fr; }
  .intro-block { gap: 1.3rem; }
  .graph-layout { grid-template-columns: 1fr; }
  .graph-detail { min-height: 0; border-top: 1px solid var(--line); border-left: 0; }
  .home-safety { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 640px) {
  body { font-size: 15.5px; }
  h1, .home-hero h1, .page-hero h1, .world-hero h1 { max-width: none; font-size: clamp(2.7rem, 13vw, 4rem) !important; }
  h2, .intro-block h2, .section-heading h2, .method-preview h2, .graph-head h2, .daily-articles-head h2, .article-world-summary h2 { font-size: clamp(1.9rem, 9vw, 2.7rem) !important; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); }
  .world-grid,
  .article-card-grid,
  .article-status-strip,
  .article-metrics,
  .article-world-controls,
  .content-grid,
  .risk-grid,
  .contact-grid,
  .directory-grid { grid-template-columns: 1fr; }
  .world-card { padding: .65rem; }
  .method-preview { grid-template-columns: 1fr; }
  .world-layout { grid-template-columns: 1fr; }
  .world-layout aside { position: static; }
  .prose-section { grid-template-columns: 1fr; gap: .7rem; }
  .graph-tools { grid-template-columns: 1fr; }
  .graph-viewport { display: none; }
  .graph-mobile-paths { display: grid; gap: .75rem; padding: 1rem; }
  .graph-mobile-card { padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); }
  .graph-mobile-card small { color: var(--clay); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  .graph-mobile-card h3 { margin: .35rem 0; }
  .graph-mobile-card p { margin: 0; color: var(--ink-2); font-size: .84rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
