*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{background:none;border:none;cursor:pointer}:root{--bg-primary: #f1e6ce;--bg-secondary: #ead9b8;--bg-elevated: #f8eed8;--bg-overlay: rgba(241, 230, 206, .86);--bg-deep: #1a1209;--text-primary: #1c130b;--text-secondary: #4a2f1c;--text-muted: #816045;--text-accent: #8a2424;--accent-primary: #8a2424;--accent-secondary: #1c130b;--accent-tertiary: #5a6b4a;--accent-warm: #b13a1f;--accent-cool: #2d5e6a;--border-subtle: rgba(28, 19, 11, .14);--border-hairline: rgba(28, 19, 11, .22);--border-ink: #1c130b;--border-active: rgba(138, 36, 36, .55);--fresco-lapis: #1a3a5c;--fresco-lapis-deep: #0f2540;--fresco-terra: #b13a1f;--fresco-oxblood: #8a2424;--fresco-saffron: #d4a03c;--fresco-saffron-bright: #e6b049;--fresco-moss: #6b7a3c;--fresco-cream: #f4ead4;--fresco-plaster: #f1e6ce;--chamber-lapis: #0e1c28;--chamber-lapis-lifted: #142536;--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.75rem;--space-xl: 3rem;--space-2xl: 5rem;--space-3xl: 8rem;--font-display: "Cormorant Garamond", "GFS Didot", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-size-base: 1rem;--line-height-base: 1.65;--ink-hair: 1px;--ink-rule: 1.5px;--ink-bold: 2.5px;--frame-col: 6px;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-soft: cubic-bezier(.25, .46, .45, .94);--dur-quick: .18s;--dur-base: .32s;--dur-slow: .55s;--radius-sm: 2px;--radius-md: 4px;--shadow-soft: 0 1px 0 rgba(28, 19, 11, .04), 0 10px 30px -20px rgba(28, 19, 11, .25);--shadow-lift: 0 1px 0 rgba(28, 19, 11, .06), 0 24px 40px -24px rgba(28, 19, 11, .35);--max-w-prose: 38rem;--max-w-narrow: 52rem;--max-w-wide: 1280px;--max-w-ultra: 1440px}@media (min-width: 640px){:root{--frame-col: 16px}}@media (min-width: 1024px){:root{--frame-col: 22px}}@media (min-width: 1440px){:root{--frame-col: 30px}}#observatory,#research-lab{--bg-primary: var(--chamber-lapis);--bg-secondary: var(--chamber-lapis-lifted);--bg-elevated: rgba(255, 255, 255, .035);--bg-overlay: rgba(14, 28, 40, .78);--text-primary: #f1e6cc;--text-secondary: #d6c6a0;--text-muted: #a48a66;--text-accent: #e6b049;--accent-primary: #e6b049;--accent-secondary: #b13a1f;--accent-tertiary: #6b7a3c;--accent-warm: #d4a03c;--accent-cool: #6aa3b3;--border-subtle: rgba(241, 230, 204, .1);--border-hairline: rgba(241, 230, 204, .18);--border-ink: rgba(241, 230, 204, .55);--border-active: rgba(230, 176, 73, .65)}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-italic.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-italic.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2")}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);font-feature-settings:"kern","ss01","cv11";font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1;letter-spacing:-.015em;color:var(--text-primary);font-feature-settings:"liga","dlig","kern"}h1{font-size:clamp(3.5rem,10vw,9.5rem);font-weight:500;line-height:.9;letter-spacing:-.025em}h2{font-size:clamp(2.25rem,5vw,3.75rem);font-weight:500;line-height:.96;letter-spacing:-.02em;margin:0}h3{font-size:1.375rem;font-weight:500;line-height:1.15;letter-spacing:-.01em}@media (min-width: 1024px){h3{font-size:1.5rem}}h4{font-size:1.125rem;font-weight:600;line-height:1.2;letter-spacing:-.005em}p{color:var(--text-primary);line-height:1.65}em,i{font-style:italic}strong,b{font-weight:600;color:var(--text-primary)}a{color:var(--text-accent);text-decoration:none;transition:color var(--dur-quick) var(--ease-out)}a:hover,a:focus-visible{color:var(--accent-warm)}a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:var(--radius-sm)}code,pre,.mono{font-family:var(--font-mono);font-size:.875em;color:var(--text-primary);font-variant-ligatures:none}.label-caps,.section-eyebrow{font-family:var(--font-body);font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;color:var(--text-muted)}.section-eyebrow{color:var(--text-accent);display:inline-flex;align-items:center;gap:var(--space-sm)}.section-eyebrow:before{content:"";width:24px;height:1px;background:currentColor;opacity:.7}::selection{background:var(--accent-primary);color:var(--bg-primary)}
