.nav-list a,
.nav-list a[aria-current="page"] {
	text-decoration: none !important;
}
.header {
	padding-left: 64px;
	padding-right: 64px;
}
.wordmark {
	margin-left: 0;
}
.menu-btn {
	margin-right: 0;
}
/* --- Header and Menu Button Layout Fix --- */
.header {
	position: sticky;
	top: 0;
	background: #fff;
	border-bottom: 1px solid var(--border-light);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 18px 48px 18px 48px;
	z-index: 100;
	min-height: 56px;
}
.wordmark {
	color: var(--blue);
	font-weight: 600;
	font-size: 20px;
	text-decoration: none;
	letter-spacing: 0.01em;
	margin-right: 16px;
}
.menu-btn {
	appearance: none;
	border: 1px solid var(--border-light);
	background: var(--bg-lighter);
	border-radius: 10px;
	padding: 8px 18px 8px 14px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: box-shadow 0.18s;
	font-size: 16px;
	box-shadow: none;
	margin-left: 16px;
}
.menu-btn:focus {
	outline: 2px solid var(--primary-soft, #bcd6fa);
	outline-offset: 2px;
}
.hamburger {
	width: 22px;
	height: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	margin-right: 2px;
}
.hamburger .bar {
	display: block;
	height: 2px;
	width: 18px;
	background: #222;
	border-radius: 2px;
	transition: background 0.2s;
}
/* --- Modern Hamburger & Right Drawer Styles --- */
.menu-btn {
	appearance: none;
	border: 1px solid var(--border-light);
	background: var(--bg-lighter);
	border-radius: 10px;
	padding: 10px 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: box-shadow 0.18s;
}
.menu-btn:focus {
	outline: 2px solid var(--primary-soft, #bcd6fa);
	outline-offset: 2px;
}
.hamburger {
	width: 22px;
	height: 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
}
.hamburger .bar {
	display: block;
	height: 2.5px;
	width: 100%;
	background: var(--text, #222);
	border-radius: 2px;
	transition: background 0.2s;
}
.menu-label {
	font-size: 15px;
	color: var(--muted-text);
}

.drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(11, 18, 32, 0.22);
	display: none;
	z-index: 20;
	opacity: 0;
	transition: opacity 0.32s cubic-bezier(.4,0,.2,1);
}
.drawer-overlay.open {
	display: block;
	opacity: 1;
}
.drawer {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	width: min(340px, 92vw);
	background: var(--bg-lighter);
	border-left: 1px solid var(--border-light);
	box-shadow: -2px 0 16px rgba(0,0,0,0.07);
	transform: translateX(100%);
	transition: transform 0.32s cubic-bezier(.4,0,.2,1);
	z-index: 30;
	display: flex;
	flex-direction: column;
	will-change: transform;
}
.drawer.open {
	transform: translateX(0);
}
.right-drawer {
	right: 0;
	left: auto;
	border-left: 1px solid var(--border-light);
	border-right: none;
}
.drawer-header {
	padding: 18px 18px 10px;
	border-bottom: 1px solid var(--border-light);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.drawer-title {
	font-weight: 650;
	font-size: 18px;
}
.drawer-close {
	appearance: none;
	border: 1px solid var(--border-light);
	background: var(--bg-lighter);
	border-radius: 10px;
	padding: 8px 16px;
	cursor: pointer;
	font-size: 15px;
	transition: box-shadow 0.18s;
}
.drawer-nav {
	padding: 18px 12px 16px;
}
.nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.nav-list a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 14px 16px;
	border-radius: 8px;
	color: var(--text);
	font-size: 16px;
	font-weight: 500;
	transition: background 0.18s;
}
.nav-list a:hover {
	background: var(--primary-soft, #e6eef8);
	text-decoration: none;
}
.nav-list a[aria-current="page"] {
	background: var(--primary-soft, #e6eef8);
	border: 1px solid var(--border-light);
}

:root{--blue:#1E3A8A;--dark-text:#0B1220;--body-text:#0B1220;--light-text:#64748B;--muted-text:#64748B;--bg-light:#FBFDFF;--bg-lighter:#FFFFFF;--bg-section:#F1F5F9;--divider:#E6EEF8;--border-light:#E5E7EB;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Inter','SF Pro Display','SF Pro Text',system-ui,Arial,sans-serif;color:var(--body-text);background:var(--bg-light);line-height:1.65;font-weight:400;}
.container{max-width:780px;margin:60px auto;padding:56px 28px;}
h1{font-size:44px;font-weight:600;line-height:1.2;letter-spacing:-0.02em;color:var(--dark-text);margin-top:32px;margin-bottom:20px;padding-left:0;}
h2{font-size:30px;font-weight:600;line-height:1.22;letter-spacing:-0.015em;margin-top:32px;margin-bottom:20px;color:var(--dark-text);}
p{font-size:19px;line-height:1.65;color:var(--body-text);margin-bottom:24px;}
ul{margin:24px 0 24px 24px;}
li{margin-bottom:12px;color:var(--body-text);font-size:19px;line-height:1.6;}
.subtext{font-size:20px;line-height:1.6;color:var(--light-text);margin-top:24px;}
.header{position:sticky;top:0;background:#FFFFFF;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;padding:20px 24px;z-index:100;}
.wordmark{color:var(--blue);font-weight:600;font-size:18px;text-decoration:none;}
.hamburger{font-size:22px;cursor:pointer;user-select:none;color:var(--blue);}
.menu{position:fixed;top:0;right:-260px;width:260px;height:100%;background:#FFFFFF;border-left:1px solid var(--divider);padding-top:40px;transition:.25s;overflow-y:auto;z-index:101;}
.menu a{display:block;padding:18px 24px;margin-bottom:0;text-decoration:none;color:var(--blue);font-weight:400;font-size:18px;border-left:2px solid transparent;cursor:pointer;}
.menu a:hover{border-left:2px solid var(--blue);}
.menu a.active{border-left:2px solid var(--blue);}
.menu.open{right:0;}
.footer{background-color:var(--bg-section);padding:48px 40px;border-top:1px solid #E5E7EB;}
.footer a{color:var(--light-text);text-decoration:none;font-size:17px;font-weight:400;letter-spacing:0.01em;margin:0 24px;}
.footer a:first-child{margin-left:0;}
.divider{border-top:1px solid var(--divider);margin:80px 0;}
.callout{background-color:var(--bg-lighter);padding:28px;margin:80px 0;font-size:22px;font-weight:600;line-height:1.4;color:var(--dark-text);} 

/* Axiom block: left blue bar used only for core axioms */
.axiom{background-color:var(--bg-lighter);border-left:3px solid var(--blue);padding:20px 20px;margin:56px 0;font-size:20px;font-weight:600;color:var(--dark-text);}

/* Axiom row with horizontal rule */
.axiom-row{display:flex;align-items:center;gap:20px;margin:40px 0;}
.axiom-row .axiom{margin:0;padding:18px 20px;min-width:260px}
.axiom-row .axiom-divider{flex:1;height:1px;background:var(--divider)}

@media(max-width:480px){
	.axiom-row{flex-direction:column;align-items:stretch;gap:12px}
	.axiom-row .axiom{min-width:0}
	.axiom-row .axiom-divider{height:1px}
}
.section{padding:40px 0;margin:40px 0;}
.section-alt{background-color:#ffffff;margin:60px -40px;padding:40px 40px;}
.diagram{margin:48px 0;padding:40px;background:#FFFFFF;border:1px solid var(--divider);text-align:center;}
.diagram-box{display:inline-block;border:1px solid var(--divider);padding:20px 28px;margin:10px;font-weight:600;color:var(--dark-text);min-width:200px;background:transparent;box-shadow:none;}
.diagram-arrow{font-size:22px;color:var(--muted-text);margin:12px 0;}

/* Minimal architecture doc styles */
.doc-section{margin:80px 0;padding:0 6px;}
.thin-divider{height:1px;background:var(--divider);margin:32px 0;}
.doctrine{font-weight:600;color:var(--dark-text);}

/* Logo placement */
.logo-wrap{display:block;text-align:center;margin:18px 0 24px;}
.site-logo{display:inline-block;max-width:180px;height:auto;margin:0 auto;}
.diagram.minimal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;border:none;background:transparent;}
.diagram.minimal .diagram-box{border:1px solid var(--divider);padding:14px 28px;min-width:260px;border-radius:2px;}
.diagram-row{display:flex;justify-content:center;width:100%;}
@media(max-width:768px){.container{margin:60px auto;padding:56px 20px;}h1{font-size:32px;line-height:1.22;padding-left:0;}h2{font-size:24px;margin-top:32px;margin-bottom:20px;padding-left:0;}p{font-size:17px;margin-bottom:24px;}ul{margin:20px 0 20px 16px;padding-left:20px;}li{margin-bottom:10px;font-size:17px;}.subtext{font-size:18px;}.header{padding:16px 16px;}.wordmark{font-size:16px;}.hamburger{font-size:20px;}.menu{width:240px;padding-top:30px;}
.menu a{padding:16px 20px;font-size:16px;}.footer{padding:40px 20px;}.footer a{font-size:16px;margin:0 12px;}.footer a:first-child{margin-left:0;}
.divider{margin:60px 0;}.callout{padding:20px;margin:60px 0;font-size:18px;}
.diagram{padding:24px;margin:32px 0;}.diagram-box{padding:16px;margin:8px;min-width:140px;font-size:14px;}
.diagram-arrow{font-size:20px;margin:12px 0;}
.section-alt{margin:40px -20px;padding:40px 20px;}}
.container{margin:40px auto;padding:56px 16px;}h1{font-size:28px;line-height:1.2;padding-left:0;}h2{font-size:20px;margin-top:32px;margin-bottom:16px;padding-left:0;}p{font-size:16px;line-height:1.6;margin-bottom:24px;}ul{margin:16px 0 16px 0;padding-left:20px;}li{margin-bottom:8px;font-size:16px;}.subtext{font-size:16px;margin-top:16px;}
.header{padding:14px 12px;}.wordmark{font-size:14px;}.hamburger{font-size:18px;}.menu{width:100%;right:auto;left:-100%;}
.menu.open{left:0;right:auto;}.menu a{padding:14px 16px;font-size:15px;}.footer{padding:32px 16px;}.footer a{display:block;font-size:14px;margin:8px 0;}
.footer a:first-child{margin-top:0;}.divider{margin:48px 0;}.callout{padding:16px;margin:48px 0;font-size:16px;}
.diagram{padding:16px;margin:24px 0;}.diagram-box{padding:12px;margin:6px;min-width:120px;font-size:13px;}
.diagram-arrow{font-size:18px;margin:8px 0;}
.section{padding:24px 0;margin:24px 0;}.section-alt{margin:32px -16px;padding:24px 16px;}

@media (max-width:480px){
	.doc-section{margin:32px 0;padding:0 4px;}
	.axiom{margin:28px 0;padding:16px;font-size:16px}
	.diagram.minimal .diagram-box{min-width:180px;padding:10px 14px;font-size:15px}
	.logo-wrap{margin:12px 0 20px}
	.site-logo{max-width:140px}
}

@media(max-width:480px){
	.doc-section{margin:28px 0;padding:0 2px;}
	.diagram.minimal .diagram-box{min-width:180px;padding:10px 18px;font-size:15px;}
}

