@font-face {
	font-family: "Anybody";
	src: url("./assets/fonts/anybody/anybody-latin-variable.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

body.go-spatial-theme {
	--font-display: "Anybody", "Arial Narrow", sans-serif;
	--font-ui: "Anybody", system-ui, sans-serif;
	--font-reading: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
	margin: 0;
	overflow-x: hidden;
	color: #f2ece1;
	background: #03050a;
	color-scheme: dark;
	-webkit-font-smoothing: antialiased;
}
body.go-spatial-theme *,
body.go-spatial-theme *::before,
body.go-spatial-theme *::after { box-sizing: border-box; }
body.go-spatial-theme button,
body.go-spatial-theme a { -webkit-tap-highlight-color: transparent; }
body.go-spatial-theme :focus-visible { outline: 3px solid var(--chapter,#74e6d3); outline-offset: 4px; }
body.go-spatial-theme #ast-scroll-top { display: none !important; }

/* Advertising is a reading pause, never a heading, product card or fixed overlay. */
body.go-spatial-theme .go-spatial-ad { position:relative; z-index:2; width:min(900px,calc(100% - 64px)); margin:64px auto 96px; padding:24px 0; border-block:1px solid rgba(242,236,225,.14); color:#b8b7b4; background:#070b12; text-align:center; }
body.go-spatial-theme .go-spatial-ad > span { color:#b8b7b4 !important; font-family:var(--font-ui) !important; font-weight:500 !important; }
body.go-spatial-theme .go-spatial-ad .adsbygoogle { display:block; width:100%; }
body.go-spatial-theme .go-spatial-ad[hidden] { display:none !important; }
body.go-spatial-theme .go-spatial-ad[data-gope-ad-state="error"] > * { visibility:hidden; }
.go-article-enhanced .go-reading-ad-visible .go-depth-index ol,
.go-article-enhanced .go-reading-ad-visible .go-depth-index-title,
.go-article-enhanced .go-reading-ad-visible .go-depth-index-progress { visibility:hidden; pointer-events:none; }
@media(max-width:760px){body.go-spatial-theme .go-spatial-ad{width:calc(100% - 32px);margin:40px auto 80px;}}

.go-spatial-skip { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 11px 15px; color: #03050a; background: #f2ece1; font: 760 12px/1 var(--font-ui); transform: translateY(-180%); }
.go-spatial-skip:focus { transform: translateY(0); }

.go-spatial-chrome { position: absolute; z-index: 8; top: 0; right: 0; left: 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: clamp(24px,3vw,54px); align-items: center; min-height: 82px; padding: 0 clamp(20px,4.5vw,72px); border-bottom: 1px solid rgba(242,236,225,.16); }
.go-spatial-brand { display: inline-flex; flex-direction: column; color: inherit; font: 900 31px/.82 var(--font-display); letter-spacing: -.04em; text-decoration: none; }
.go-spatial-top-nav { display: flex; justify-content: center; gap: clamp(20px,3vw,43px); }
.go-spatial-top-nav a { color: rgba(242,236,225,.7); font: 680 11px/1 var(--font-ui); text-decoration: none; transition: color .2s ease; }
.go-spatial-top-nav a:hover,
.go-spatial-top-nav a:focus-visible { color: var(--chapter); }
.go-spatial-continuum { display: flex; align-items: center; gap: 12px; margin: 0; color: rgba(242,236,225,.55); font: 720 9px/1 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; }
.go-spatial-continuum i { position: relative; width: clamp(60px,10vw,148px); height: 1px; background: rgba(242,236,225,.25); }
.go-spatial-continuum i::after { position: absolute; inset: -2px 0 -2px auto; width: 40%; content: ""; background: var(--chapter); box-shadow: 0 0 14px var(--chapter); }
.go-spatial-status { display: flex; gap: 9px; align-items: center; margin: 0; color: rgba(242,236,225,.58); font: 720 9px/1 var(--font-ui); letter-spacing: .15em; text-transform: uppercase; }
.go-spatial-status span { width: 6px; height: 6px; border-radius: 50%; background: var(--chapter); box-shadow: 0 0 13px var(--chapter); }
.go-spatial-header-action { color: rgba(242,236,225,.7); font: 680 11px/1 var(--font-ui); text-decoration: none; }
.go-spatial-header-action:hover,
.go-spatial-header-action:focus-visible { color: var(--chapter); }
.go-spatial-mobile-menu { display: none; }

#site-footer { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(280px,1fr) minmax(320px,1fr); gap: clamp(55px,8vw,140px); align-content: center; min-height: 72svh; padding: clamp(85px,10vw,150px) clamp(24px,5vw,80px) 42px; color: #f2ece1; background: radial-gradient(circle at 75% 25%,rgba(116,230,211,.08),transparent 30%),#070b12; }
.go-spatial-footer-lead { display: flex; flex-direction: column; justify-content: space-between; min-height: 310px; }
.go-spatial-footer-brand { display: inline-flex; flex-direction: column; width: max-content; color: inherit; font: 900 clamp(58px,6.5vw,104px)/.78 var(--font-display); letter-spacing: -.04em; text-decoration: none; }
.go-spatial-footer-lead p { margin: 0; color: rgba(242,236,225,.58); font: 400 19px/1.35 var(--font-reading); }
.go-spatial-footer-lead strong { color: #74e6d3; font-weight: 500; }
.go-spatial-footer-primary { align-self: start; display: grid; border-top: 1px solid rgba(242,236,225,.2); }
.go-spatial-footer-primary > p,
.go-spatial-footer-search > label { margin: 0; padding: 17px 0; color: rgba(242,236,225,.45); font: 760 9px/1 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; }
.go-spatial-footer-primary > a { display: grid; grid-template-columns: 24px 1fr; column-gap: 18px; align-items: center; min-height: 74px; border-bottom: 1px solid rgba(242,236,225,.18); color: #f2ece1; font: 620 clamp(20px,2vw,29px)/1 var(--font-display); text-decoration: none; transition: color .2s ease,padding .2s ease; }
.go-spatial-footer-primary > a span { color: #74e6d3; font: 790 9px/1 var(--font-ui); }
.go-spatial-footer-primary > a:hover,
.go-spatial-footer-primary > a:focus-visible { padding-left: 10px; color: #74e6d3; }
.go-spatial-footer-search { align-self: start; border-top: 1px solid rgba(242,236,225,.2); }
.go-spatial-footer-search > div { display: grid; grid-template-columns: 1fr 48px; border-bottom: 1px solid rgba(242,236,225,.28); }
.go-spatial-footer-search input { min-width: 0; min-height: 58px; padding: 0; border: 0; color: #f2ece1; background: transparent; font: 400 17px/1 var(--font-reading); }
.go-spatial-footer-search input::placeholder { color: rgba(242,236,225,.42); }
.go-spatial-footer-search button { min-width: 48px; min-height: 48px; border: 0; color: #74e6d3; background: transparent; font: 700 20px/1 var(--font-ui); cursor: pointer; }
.go-spatial-footer-bottom { grid-column: 1/-1; display: flex; align-items: end; justify-content: space-between; margin-top: clamp(70px,10vw,140px); padding-top: 22px; border-top: 1px solid rgba(242,236,225,.16); }
.go-spatial-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.go-spatial-footer-bottom a,
.go-spatial-footer-bottom p { margin: 0; color: rgba(242,236,225,.45); font: 680 10px/1.3 var(--font-ui); text-decoration: none; }
.go-spatial-footer-bottom a:hover,
.go-spatial-footer-bottom a:focus-visible { color: #f2ece1; }

@media (max-width: 1180px) {
	#site-footer { grid-template-columns: 1fr 1fr; min-height: 0; }
	.go-spatial-footer-lead { grid-column: 1/-1; min-height: 220px; }
	.go-spatial-footer-search { grid-column: 1/-1; }
	.go-spatial-footer-bottom { margin-top: 70px; }
}

@media (max-width: 760px) {
	.go-spatial-chrome { grid-template-columns: auto 1fr auto; gap: 15px; min-height: 68px; padding: 0 16px; }
	.go-spatial-brand { min-height: 44px; justify-content: center; font-size: 23px; }
	.go-spatial-top-nav,
	.go-spatial-status,
	.go-spatial-header-action { display: none; }
	.go-spatial-continuum { justify-self: end; }
	.go-spatial-continuum i { width: 42px; }
	.go-spatial-mobile-menu { position: relative; display: block; }
	.go-spatial-mobile-menu summary { display: flex; min-width: 62px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid rgba(242,236,225,.3); font: 700 11px/1 var(--font-ui); list-style: none; cursor: pointer; }
	.go-spatial-mobile-menu summary::-webkit-details-marker { display: none; }
	.go-spatial-mobile-menu nav { position: absolute; z-index: 50; top: 49px; right: 0; display: grid; min-width: 225px; padding: 8px; color: #03050a; background: #f2ece1; box-shadow: 0 20px 55px rgba(0,0,0,.48); }
	.go-spatial-mobile-menu nav a { display: flex; min-height: 44px; align-items: center; padding: 0 12px; border-bottom: 1px solid rgba(3,5,10,.16); color: #03050a; font: 680 12px/1 var(--font-ui); text-decoration: none; }
	.go-spatial-footer-bottom nav a { display: flex; min-height: 44px; align-items: center; }
}

@media (max-width: 580px) {
	#site-footer { grid-template-columns: 1fr; gap: 60px; padding: 85px 16px 30px; }
	.go-spatial-footer-lead { grid-column: auto; min-height: 205px; }
	.go-spatial-footer-primary,
	.go-spatial-footer-search { grid-column: auto; }
	.go-spatial-footer-bottom { display: grid; gap: 35px; margin-top: 50px; }
	.go-spatial-footer-bottom nav { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
	.go-spatial-footer-bottom p { justify-self: end; }
}

body.go-spatial-theme.admin-bar .go-spatial-chrome { top: 32px; }
@media (max-width: 782px) {
	body.go-spatial-theme.admin-bar .go-spatial-chrome { top: 46px; }
}
