/* Greek Nous design layer — obsidian / gold / marble, dark-first with light mode */

:root { --gold: #d4af6a; }

html { -webkit-font-smoothing: antialiased; }

/* Hero */
.hero-bg {
  background:
    radial-gradient(50% 40% at 25% 0%, rgba(212,175,106,0.12), transparent 70%),
    radial-gradient(45% 40% at 85% 15%, rgba(46,125,156,0.08), transparent 70%);
}
.dark .hero-bg {
  background:
    radial-gradient(50% 40% at 25% 0%, rgba(212,175,106,0.10), transparent 70%),
    radial-gradient(45% 40% at 85% 15%, rgba(46,125,156,0.10), transparent 70%),
    linear-gradient(180deg, #17171f 0%, #0e0e13 100%);
}

/* Greek meander strip */
.meander {
  background-image: repeating-linear-gradient(90deg,
    var(--gold) 0 2px, transparent 2px 10px,
    var(--gold) 10px 12px, transparent 12px 20px);
}

/* Floating orbs (hero life) */
.orb-g {
  position: absolute; width: 7px; height: 7px; border-radius: 9999px;
  background: var(--gold);
  box-shadow: 0 0 12px 2px rgba(212,175,106,0.5);
  opacity: 0.6; animation: floatg 8s ease-in-out infinite;
}
.orb-a { background: #4a9eba; box-shadow: 0 0 12px 2px rgba(74,158,186,0.5); }
@keyframes floatg {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-24px) scale(1.15); }
}

/* Hero emblem animations */
.ring-spin-slow { animation: spin 26s linear infinite; }
.ring-spin-rev  { animation: spinrev 18s linear infinite; }
@keyframes spin    { to { transform: rotate(360deg); } }
@keyframes spinrev { to { transform: rotate(-360deg); } }
.emblem-hex { filter: drop-shadow(0 0 12px rgba(212,175,106,0.35)); animation: breathe 5s ease-in-out infinite; }
@keyframes breathe {
  0%,100% { filter: drop-shadow(0 0 8px rgba(212,175,106,0.25)); }
  50%     { filter: drop-shadow(0 0 18px rgba(212,175,106,0.5)); }
}
.emblem-n { stroke-dasharray: 200; stroke-dashoffset: 200; animation: drawn 2.2s ease forwards 0.4s; }
@keyframes drawn { to { stroke-dashoffset: 0; } }
.hero-emblem { animation: emblemfloat 7s ease-in-out infinite; }
@keyframes emblemfloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Logo hover */
.logo-mark { transition: transform .5s cubic-bezier(0.34,1.56,0.64,1); }
a:hover .logo-mark { transform: rotate(-8deg) scale(1.06); }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .orb-g, .ring-spin-slow, .ring-spin-rev, .emblem-hex, .emblem-n, .hero-emblem { animation: none; }
  .emblem-n { stroke-dashoffset: 0; }
}

/* Prose — light */
.prose { --tw-prose-links: #a67a38; }
.prose a { text-decoration-color: rgba(166,122,56,.4); }
.prose a:hover { text-decoration-color: #a67a38; }
.prose pre {
  background: #17171f; color: #e8e6e1; border: 1px solid #333344; border-radius: .75rem;
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .85rem;
}
.prose :not(pre) > code { background: rgba(212,175,106,.14); color: #855f2e; padding: .15em .4em; border-radius: .375rem; font-weight: 500; }
.dark .prose :not(pre) > code { color: #e2c377; background: rgba(212,175,106,.10); }
.prose code::before, .prose code::after { content: none; }
.prose blockquote {
  border-left: 4px solid var(--gold); background: rgba(212,175,106,.07);
  border-radius: 0 .5rem .5rem 0; padding: .75rem 1rem; font-style: normal; color: inherit;
}
.prose blockquote p:first-of-type::before, .prose blockquote p:last-of-type::after { content: none; }
.prose h1, .prose h2, .prose h3 { scroll-margin-top: 5.5rem; letter-spacing: -0.02em; }

/* Prose — dark overrides */
.dark .prose-invert { --tw-prose-links: #d4af6a; }
.dark .prose-invert a { text-decoration-color: rgba(212,175,106,.4); }
.dark .prose-invert a:hover { text-decoration-color: #d4af6a; }

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-thumb { background: #c5c5cd; border-radius: 8px; }
.dark ::-webkit-scrollbar-thumb { background: #333344; }
