@font-face{font-family:Space;src:url('assets/SpaceGrotesk-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('assets/Inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('assets/Inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Mono;src:url('assets/JetBrainsMono-500.ttf') format('truetype');font-weight:500;font-display:swap}
/* Match the local fallback to Inter to reduce movement while fonts load. */
@font-face{font-family:"Inter Fallback";src:local("Arial");font-weight:400 500;size-adjust:108.6%;ascent-override:89.20%;descent-override:22.21%;line-gap-override:0%}
:root{--paper:#f3f0e7;--void:#12130f;--graphite:#4b4d45;--orange:#d94d1f;--muted:#b1b1a5;--gutter:clamp(24px,4.2vw,80px);--pad:var(--gutter);--header-height:72px;--section-space:clamp(64px,7vw,112px);--rule:#f3f0e733;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--display-size:clamp(44px,4.5vw,76px);--body-size:clamp(16px,1.2vw,19px);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--void);color:var(--paper)}body{font-family:Inter,"Inter Fallback",Arial,sans-serif;font-size:var(--body-size);line-height:1.6}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;border-radius:0;background:none}a{color:inherit;text-decoration:none}button:disabled,input:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:5px}.mono{font:500 12px/1.6 Mono,monospace;letter-spacing:.07em}p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:fixed;z-index:20;inset:0 0 auto;height:var(--header-height);padding:0 var(--gutter);display:flex;align-items:center;background:var(--void);border:0;box-shadow:inset 0 -1px 0 var(--rule)}.home-page .site-header{background:transparent;box-shadow:none;pointer-events:none}.home-page .site-header .brand{pointer-events:auto}.brand{display:inline-flex;min-height:44px;align-items:center;flex-shrink:0}.brand img{display:block;width:132px;height:auto}.inner-page{padding-top:var(--header-height)}
.menu-toggle{position:fixed;z-index:30;right:0;top:calc(50svh - 44px);width:48px;min-height:88px;border-left:1px solid #f3f0e74d;background:#12130fe8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;transition:background .2s,color .2s}.home-page .menu-toggle{background:#12130f33}.menu-toggle:hover{background:var(--void);color:var(--orange)}.menu-label{writing-mode:vertical-rl;font-size:11px;letter-spacing:.13em}.menu-icon{width:24px;display:grid;gap:7px}.menu-icon i{display:block;height:1px;width:24px;background:currentColor}.menu-icon i:last-child{width:16px;margin-left:8px}
.navigation{position:fixed;inset:12px 12px auto auto;margin:0;width:min(360px,calc(100% - 24px));max-width:100%;max-height:calc(100svh - 24px);height:auto;padding:24px;color:var(--paper);background:var(--void);border:0;border-left:1px solid var(--rule);overflow-y:auto;overscroll-behavior:contain}.navigation::backdrop{background:#08090699;backdrop-filter:blur(4px)}.drawer-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.drawer-header .mono{font-size:11px;color:var(--muted)}.close-button{width:44px;height:44px;font-size:23px;line-height:1}.close-button:hover{color:var(--orange)}.navigation nav{margin-top:24px}.navigation nav a{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--rule);font:700 36px/1.1 Space,sans-serif;letter-spacing:-.055em}.navigation .nav-index{font-size:12px;letter-spacing:0;color:var(--orange)}.nav-arrow{margin-left:auto;font:400 32px/1 Inter,"Inter Fallback",Arial,sans-serif;color:var(--orange);transition:transform .2s}.navigation nav a:hover .nav-arrow{transform:translate(4px,-4px)}.navigation nav a[aria-current]{color:var(--orange)}.navigation nav a[aria-current] .nav-index{color:var(--paper)}.drawer-home{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:24px;color:var(--muted);font-size:11px}.drawer-home:hover{color:var(--paper)}body.dialog-open{overflow:hidden}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:6px 0;border-bottom:1px solid #f3f0e780;font:500 14px/1.4 Inter,"Inter Fallback",Arial,sans-serif;transition:border-color .2s,color .2s}.text-link span{color:var(--orange);font-size:23px;line-height:1}.text-link:hover{border-color:var(--orange)}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;background:var(--void);color:var(--paper);font:500 12px/1.5 Mono,monospace;letter-spacing:.055em}.primary-button:disabled{background:#d9d7cc;color:#64655b;border:1px solid #b9b9ad}
.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:32px;padding:32px var(--gutter);border-top:1px solid var(--rule);background:var(--void);color:var(--paper)}.site-footer .brand img{width:120px}.site-footer>p{text-align:center;font-size:11px;color:var(--muted)}.site-footer nav{display:flex;justify-content:flex-end;gap:24px}.site-footer nav a{display:flex;align-items:center;min-height:44px;font-size:13px}.site-footer nav a:hover,.site-footer nav a[aria-current]{color:var(--orange)}
.skip-link{position:fixed;z-index:100;top:8px;left:var(--gutter);padding:12px 20px;background:var(--paper);color:var(--void);transform:translateY(-150%);font-size:14px}.skip-link:focus{transform:translateY(0)}
@media(max-width:700px){:root{--header-height:64px;--display-size:clamp(40px,10.4vw,60px);--body-size:16px}.brand img{width:120px}.menu-toggle,.home-page .menu-toggle{top:10px;right:var(--gutter);width:44px;min-height:44px;height:44px;border:0;background:var(--void);gap:0}.home-page .menu-toggle{background:#12130f33}.menu-label{display:none}.navigation{padding:20px}.navigation nav{margin-top:16px}.navigation nav a{font-size:34px;padding:16px 0;gap:16px}.drawer-home{margin-top:20px}.site-footer{grid-template-columns:1fr auto;gap:16px 24px;padding:24px var(--gutter)}.site-footer>p{text-align:right;font-size:11px}.site-footer nav{grid-column:1/-1;justify-content:flex-start;gap:28px}.site-footer nav a{font-size:14px}.text-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

html{scroll-padding-top:calc(var(--header-height) + 16px)}
@media(max-height:480px){.navigation{padding:16px 20px}.navigation nav{margin-top:8px}.navigation nav a{padding:12px 0;font-size:30px}.drawer-home{margin-top:12px}}

/* Consistent rounded corners for buttons and filled link actions. */
button,.primary-button,.science-access{border-radius:12px}

/* Link arrows are vectors, independent of font and emoji rendering. */
.icon-arrow{display:block;width:1em;height:1em;flex:none}
