:root {
  color-scheme: dark;
  --ink: #f4f0ff;
  --muted: #aaa6bd;
  --line: rgba(255,255,255,.16);
  --glass: rgba(8,8,18,.72);
  --violet: #9d63ff;
  --cyan: #47f6dc;
  --coral: #ff6b7d;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: #080812;
  color: var(--ink);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
}
a { color: inherit; }
#bloom, #transition-snapshot { height: 100%; inset: 0; position: fixed; width: 100%; }
#bloom { z-index: -3; }
#transition-snapshot { opacity: 0; pointer-events: none; z-index: -2; }
.atmosphere {
  background: linear-gradient(180deg, rgba(6,6,15,.08), rgba(6,6,15,.48) 55%, #080812 96%);
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}
.site-header {
  align-items: center;
  backdrop-filter: blur(22px) saturate(140%);
  background: rgba(6,6,15,.54);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr auto 1fr;
  left: 0;
  padding: 1rem clamp(1.2rem,4vw,4rem);
  position: fixed;
  right: 0;
  top: 0;
  z-index: 20;
}
.wordmark { align-items: center; display: flex; font-size: .76rem; font-weight: 800; gap: .75rem; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.wordmark-mark { aspect-ratio: 1; border-radius: 50%; display: inline-flex; overflow: hidden; width: 2.2rem; }
.wordmark-mark img { height: 100%; object-fit: cover; width: 100%; }
nav { display: flex; gap: 2rem; }
nav a, .motion-toggle { font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
nav a { color: var(--muted); text-decoration: none; }
nav a:hover { color: var(--ink); }
.motion-toggle { align-items: center; background: transparent; border: 0; color: var(--muted); cursor: pointer; display: flex; gap: .6rem; justify-self: end; padding: .5rem 0; }
.motion-icon { border: 1px solid var(--cyan); border-radius: 50%; box-shadow: 0 0 12px rgba(71,246,220,.5); height: .55rem; width: .55rem; }
.motion-toggle[aria-pressed="true"] .motion-icon { background: var(--muted); border-color: var(--muted); box-shadow: none; }
main, footer { margin: 0 auto; max-width: 1440px; padding-left: clamp(1.2rem,6vw,6rem); padding-right: clamp(1.2rem,6vw,6rem); }
.hero { align-items: center; display: grid; gap: 3rem clamp(3rem,8vw,9rem); grid-template-columns: minmax(0,1.15fr) minmax(20rem,.85fr); min-height: 100svh; padding: 9rem 0 6rem; position: relative; }
.signal { align-items: center; color: var(--muted); display: flex; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; gap: .7rem; grid-column: 1 / -1; letter-spacing: .12em; position: absolute; text-transform: uppercase; top: 8.5rem; }
.signal span { animation: pulse 2s ease-in-out infinite; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 14px var(--cyan); height: .45rem; width: .45rem; }
h1, h2 { font-weight: 550; letter-spacing: -.065em; margin: 0; }
h1 { font-size: clamp(5.5rem,11vw,10.5rem); line-height: .82; max-width: none; text-shadow: 0 0 55px rgba(20,8,45,.9); }
h1 span { display: block; }
h1 span:first-child { font-size: .56em; letter-spacing: -.045em; margin-bottom: .28em; }
h2 { font-size: clamp(3.5rem,8vw,8rem); line-height: .84; }
.hero-copy { align-self: center; background: rgba(3,3,12,.86); border-left: 1px solid rgba(71,246,220,.55); max-width: 34rem; padding: 1.25rem clamp(1.5rem,3vw,2.5rem); }
.hero-copy p { color: #e0dce7; font-family: Georgia, serif; font-size: clamp(.96rem,1.08vw,1.12rem); line-height: 1.68; margin: 0 0 1.15rem; text-shadow: 0 2px 18px rgba(0,0,0,.85); }
.hero-copy p:last-child { margin-bottom: 0; }
.scroll-cue { align-items: center; bottom: 2rem; display: flex; font-size: .66rem; gap: .8rem; left: 0; letter-spacing: .15em; position: absolute; text-decoration: none; text-transform: uppercase; }
.scroll-cue i { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: flex; font-style: normal; height: 2rem; justify-content: center; width: 2rem; }
.section { border-top: 1px solid var(--line); padding: clamp(6rem,11vw,11rem) 0; }
.section-number { color: var(--cyan); font: .68rem/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .13em; margin: 0 0 2rem; text-transform: uppercase; }
.section-heading { margin-bottom: 5rem; }
.orbit-list { border-top: 1px solid var(--line); }
.orbit-card { align-items: center; background: rgba(8,8,18,.32); border-bottom: 1px solid var(--line); display: grid; gap: 2rem; grid-template-columns: 3rem 1fr auto; padding: clamp(1.5rem,3vw,2.5rem); text-decoration: none; transition: background .25s, padding .25s; }
.orbit-card:hover { background: rgba(108,56,170,.24); padding-left: 3rem; }
.orbit-index { color: var(--muted); font: .68rem ui-monospace, monospace; }
.orbit-copy { display: flex; flex-direction: column; gap: .5rem; }
.orbit-copy strong { font-size: clamp(1.5rem,3vw,3rem); font-weight: 500; letter-spacing: -.035em; }
.orbit-copy small { color: var(--muted); font-family: Georgia, serif; font-size: 1rem; }
.orbit-arrow { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: flex; font-size: 1.4rem; height: 3.2rem; justify-content: center; width: 3.2rem; }
.split-section { display: grid; gap: clamp(6rem,8vw,9rem); grid-template-columns: minmax(26rem,.9fr) minmax(0,1.1fr); }
.split-section .section-heading h2 { font-size: clamp(3.5rem,5.2vw,5.5rem); line-height: .9; }
.sticky-heading { align-self: start; margin: 0; position: sticky; top: 8rem; }
.section-note { color: var(--muted); font-family: Georgia, serif; font-size: 1.1rem; line-height: 1.6; margin-top: 2rem; max-width: 28rem; }
.post-list { border-top: 1px solid var(--line); }
.post-disclosure { border-bottom: 1px solid var(--line); transition: background .25s, border-color .25s; }
.post-disclosure summary { cursor: pointer; list-style: none; }
.post-disclosure summary::-webkit-details-marker { display: none; }
.post-row { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: 6rem 1fr auto; padding: 1.7rem 0; text-decoration: none; }
.post-row time { color: var(--muted); font: .68rem ui-monospace, monospace; padding-top: .35rem; }
.post-row time b { color: var(--cyan); display: block; font-size: .58rem; letter-spacing: .12em; margin-bottom: .35rem; text-transform: uppercase; }
.featured-note { border-top-color: rgba(71,246,220,.7); }
.post-row strong { font-size: clamp(1.25rem,2.2vw,2rem); font-weight: 450; line-height: 1.15; }
.post-row span { font-size: 1.25rem; transition: transform .2s; }
.post-row:hover strong { color: var(--cyan); }
.post-row:hover span { transform: scale(1.2); }
.post-disclosure[open] { background: rgba(2, 2, 10, .62); border-color: rgba(255,255,255,.24); }
.post-disclosure[open] .post-row span { transform: rotate(45deg); }
.post-content { background: rgba(1, 1, 8, .82); border: 1px solid rgba(255,255,255,.12); border-radius: .9rem; box-shadow: 0 20px 60px rgba(0,0,0,.28); color: #e2deeb; font-family: Georgia, serif; font-size: 1.05rem; line-height: 1.7; margin: 0 1.5rem 1.5rem 6rem; padding: 1.5rem; }
.post-content p { margin: 0 0 1rem; }
.post-quote p:first-child { font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.45; }
.post-content a { color: var(--cyan); margin-right: 1.25rem; text-underline-offset: .2em; }
.post-image { padding: .5rem; }
.post-image img { border-radius: .55rem; display: block; height: auto; max-height: 38rem; object-fit: contain; width: 100%; }
.blogroll { display: grid; gap: 5rem; grid-template-columns: 1fr 1fr; }
.blogroll-links { border-top: 1px solid var(--line); }
.blogroll-links a { border-bottom: 1px solid var(--line); display: flex; font-size: clamp(1.3rem,2.2vw,2rem); justify-content: space-between; padding: 1.5rem 0; text-decoration: none; }
.blogroll-links i { font-style: normal; }
.blogroll-links a:hover { color: var(--coral); }
footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: grid; font-size: .68rem; gap: 2rem; grid-template-columns: 1fr auto 1fr; letter-spacing: .08em; padding-bottom: 2rem; padding-top: 2rem; text-transform: uppercase; }
footer div { display: flex; gap: 1.5rem; }
footer a { text-decoration: none; }
.coordinates { justify-self: end; }
@keyframes pulse { 50% { opacity: .35; transform: scale(.72); } }
@media (max-width: 800px) {
  .site-header { gap: 1rem; grid-template-columns: 1fr auto; }
  .wordmark span:last-child, nav { display: none; }
  .hero { display: block; padding-top: 11rem; }
  .signal { top: 7.5rem; }
  h1 { margin-bottom: 3rem; }
  h1 span:first-child { font-size: .62em; }
  .scroll-cue { display: none; }
  .split-section, .blogroll { grid-template-columns: 1fr; }
  .sticky-heading { position: static; }
  .orbit-card { gap: 1rem; grid-template-columns: 2rem 1fr auto; padding-left: .5rem; padding-right: .5rem; }
  .orbit-card:hover { padding-left: .5rem; }
  .orbit-copy small { display: none; }
  .orbit-arrow { height: 2.6rem; width: 2.6rem; }
  .post-row { grid-template-columns: 1fr auto; }
  .post-row time { grid-column: 1 / -1; }
  .post-content { margin: 0 0 1.5rem; padding: 1.25rem; }
  footer { grid-template-columns: 1fr auto; }
  .coordinates { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .signal span { animation: none; }
  * { transition-duration: .01ms !important; }
}
