:root{color-scheme:dark;--bg: #08090f;--bg-raised: #0f111a;--bg-panel: #151724;--line: rgb(255 255 255 / .08);--line-strong: rgb(255 255 255 / .16);--text: #f4f1ea;--text-muted: #b3b1bf;--text-faint: #86859a;--brass: #f2b65a;--sky: #7fd8ff;--lavender: #b197ff;--success: #7ee2a8;--danger: #ffa3a3;--accent: var(--brass);--font-display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--container: 1200px;--gutter: clamp(16px, 4vw, 40px);--header-h: 64px;--ease-out: cubic-bezier(.22, 1, .36, 1);--glass-fill: linear-gradient( 165deg, rgb(255 255 255 / .075), rgb(255 255 255 / .015) 42%, rgb(255 255 255 / .03) ), rgb(14 16 28 / .5);--glass-blur: blur(22px) saturate(170%);--glass-shadow: inset 0 1px 0 rgb(255 255 255 / .14), inset 0 0 30px rgb(255 255 255 / .025), 0 30px 70px -30px rgb(0 0 0 / .75);--glass-edge: rgb(255 255 255 / .55)}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root{--glass-fill: var(--bg-raised);--glass-blur: none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 24px)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bg) url(/images/space/site-bg.webp) center/cover no-repeat}@media(orientation:portrait){body:before{background-image:url(/images/space/site-bg-portrait.webp)}}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.15;text-wrap:balance}p{margin:0;text-wrap:pretty}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:6px}::selection{background:#f2b65a59}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(56px,8vw,112px)}.section+.section{padding-top:0}.page-top{padding-top:calc(var(--header-h) + clamp(40px,7vw,88px))}.section-head{display:grid;gap:14px;max-width:680px;margin-bottom:clamp(28px,4vw,48px)}.section-head.row{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 32px}.rule{height:1px;margin:0;border:0;background:var(--line)}.display,.h1,.h2{font-family:var(--font-display);font-weight:500;font-optical-sizing:auto}.display{font-size:clamp(2.7rem,7vw,5.6rem);line-height:1;letter-spacing:-.025em}.h1{font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1.04;letter-spacing:-.02em}.h2{font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.08;letter-spacing:-.015em}.h3{font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.kicker{font-size:.85rem;font-weight:600;letter-spacing:.01em;color:var(--accent)}.lead{max-width:60ch;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.6;color:var(--text-muted)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.serif-italic{font-family:var(--font-display);font-style:italic;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border:1px solid transparent;border-radius:999px;font:600 .95rem/1 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease-out),background-color .2s,border-color .2s,color .2s}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.6;cursor:progress}.btn-primary{background:var(--text);color:#12121a}.btn-primary:hover{background:#fff}.btn-accent{background:var(--accent);color:#17120a}.btn-accent:hover{background:color-mix(in srgb,var(--accent) 85%,#fff)}.btn-secondary{background:#ffffff0a;border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover{background:#ffffff17;border-color:#ffffff42}.btn-sm{height:36px;padding:0 14px;font-size:.875rem}.btn svg{width:16px;height:16px}.link{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--accent);text-decoration:none}.link span{transition:transform .2s var(--ease-out)}.link:hover{text-decoration:underline;text-underline-offset:4px}.link:hover span{transform:translate(3px)}.glass,.panel{position:relative;isolation:isolate;border-radius:var(--radius-lg);background:var(--glass-fill);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.glass:after,.panel:after{content:"";position:absolute;inset:0;z-index:2;padding:1px;border-radius:inherit;background:linear-gradient(135deg,var(--glass-edge),transparent 30%,transparent 65%,color-mix(in srgb,var(--glass-edge) 40%,transparent)),#ffffff14;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}@media(prefers-contrast:more){.glass:after,.panel:after{background:var(--line-strong)}}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-muted);font-size:.85rem;font-weight:500}.accordion details{border-bottom:1px solid var(--line)}.accordion details:first-child{border-top:1px solid var(--line)}.accordion summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:600;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"";flex:none;width:10px;height:10px;margin-right:4px;border-right:1.5px solid var(--text-faint);border-bottom:1.5px solid var(--text-faint);transform:translateY(-3px) rotate(45deg);transition:transform .25s var(--ease-out)}.accordion details[open] summary:after{transform:translateY(2px) rotate(-135deg)}.accordion summary:hover{color:var(--accent)}.accordion details p{max-width:62ch;padding:0 0 20px;color:var(--text-muted)}.field{display:grid;gap:8px}.label{font-size:.9rem;font-weight:600}.label small{color:var(--text-faint);font-weight:400}.input{width:100%;height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#ffffff08;transition:border-color .2s,background-color .2s,box-shadow .2s}textarea.input{height:auto;min-height:160px;padding:12px 14px;resize:vertical}select.input{appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23b3b1bf' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}select.input option{background:var(--bg-raised)}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--sky);background-color:#ffffff0d;box-shadow:0 0 0 3px #7fd8ff2e}.input.invalid{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.85rem}.honeypot{position:absolute;left:-9999px;opacity:0}.prose{max-width:70ch;color:var(--text-muted)}.prose h2{margin:2.2em 0 .6em;font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--text)}.prose h3{margin:1.6em 0 .5em;font-size:1.05rem;color:var(--text)}.prose p,.prose ul{margin:0 0 1em}.prose li{margin-bottom:.45em}.prose a{color:var(--sky)}.prose strong{color:var(--text)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes orbit-spin{to{transform:rotate(1turn)}}@keyframes world-drift{0%{transform:scale(1.14) translateY(-3%)}to{transform:scale(1.04) translateY(3%)}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.reveal-in{opacity:1;transform:none}@media(max-width:640px){.section-head.row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
