/* Every global rule of the theme, in cascade order: later sections override earlier ones. */

/* ==== Base (was main.css) ==== */
:root {
	--bg: #05070d;
	--glass: rgba(18, 16, 34, 0.58);
	--ink: #f7f3ff;
	--muted: #b9aecb;
	--muted-strong: #d8cdeb;
	--line: rgba(255, 255, 255, 0.13);
	--line-strong: rgba(185, 100, 255, 0.34);
	--accent: #9b42ff;
	--accent-hot: #d348ff;
	--radius: 8px;
	--pill: 999px;
	--max: 1380px;
}

* {
	box-sizing: border-box;
}

body {
	min-height: 100vh;
	margin: 0;
	background:
		radial-gradient(circle at 50% -8%, rgba(176, 47, 255, 0.26), transparent 30rem),
		radial-gradient(circle at 72% 5%, rgba(129, 39, 255, 0.42), transparent 28rem),
		radial-gradient(circle at 18% 32%, rgba(69, 33, 146, 0.25), transparent 26rem),
		linear-gradient(180deg, #070912 0%, #03050a 52%, #05070d 100%);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.6;
}

body::before {
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(180deg, black, transparent 72%);
}

body::after {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	content: "";
}

a {
	color: inherit;
	text-decoration: none;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid rgba(235, 160, 255, 0.9);
	outline-offset: 4px;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.site-header,
.site-footer,
.site-main {
	margin-inline: auto;
}

.site-header {
	position: fixed;
	top: 22px;
	right: var(--page-gutter);
	left: var(--page-gutter);
	z-index: 20;
	display: grid;
	width: auto;
	grid-template-columns: 88px minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
	min-height: 74px;
	margin-top: 0;
	margin-inline: 0;
	padding: 0;
}

.brand-lockup,
.menu,
.footer-menu,
.hero-actions,
.entry-meta,
.tag-list,
.nav-links {
	display: flex;
	align-items: center;
}

.brand-lockup {
	position: relative;
	gap: 0;
	min-width: max-content;
}

.brand-lockup::before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 122px;
	height: 122px;
	pointer-events: none;
	content: "";
	border-radius: 50%;
	background: radial-gradient(circle, rgba(211, 72, 255, 0.24), rgba(155, 66, 255, 0.12) 40%, rgba(5, 7, 13, 0.12) 58%, transparent 74%);
	filter: blur(18px);
	opacity: 0.58;
	transform: translate(-50%, -50%);
	transition: opacity 180ms ease, transform 180ms ease;
}

.site-header.is-scrolled .brand-lockup::before {
	opacity: 0.68;
	transform: translate(-50%, -50%) scale(1.08);
}

.site-logo {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	filter:
		drop-shadow(0 0 10px rgba(255, 255, 255, 0.18))
		drop-shadow(0 0 18px rgba(155, 66, 255, 0.34));
	transition: transform 160ms ease, filter 160ms ease;
}

.site-logo img {
	width: 62px;
	height: 62px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.site-logo:hover {
	filter:
		drop-shadow(0 0 12px rgba(255, 255, 255, 0.2))
		drop-shadow(0 0 22px rgba(211, 72, 255, 0.5));
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.nav-capsule {
	justify-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 8px 22px;
	border-radius: 999px;
	transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.header-nav-shell {
	min-width: 0;
}

.menu,
.footer-menu {
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.86rem;
	font-weight: 650;
}

.site-nav .menu {
	justify-content: center;
}

.menu a,
.footer-menu a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid transparent;
	border-radius: var(--pill);
	color: var(--muted);
	transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}

.menu a:hover,
.menu a.is-active,
.menu .current-menu-item > a,
.footer-menu a:hover {
	border-color: transparent;
	background: transparent;
	color: var(--ink);
}

.menu a::after {
	position: absolute;
	right: 12px;
	bottom: 2px;
	left: 12px;
	height: 2px;
	content: "";
	border-radius: var(--pill);
	background: linear-gradient(90deg, transparent, rgba(235, 160, 255, 0.86), transparent);
	opacity: 0;
	transform: scaleX(0.45);
	transition: opacity 160ms ease, transform 160ms ease;
}

.menu a:hover::after,
.menu a.is-active::after,
.menu .current-menu-item > a::after {
	opacity: 1;
	transform: scaleX(1);
}

.primary-button,
.secondary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border-radius: var(--pill);
	font-weight: 750;
	white-space: nowrap;
}

.primary-button {
	padding: 0 17px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: linear-gradient(135deg, #b748ff, #6c2cff);
	color: #fff;
	box-shadow: 0 0 28px rgba(155, 66, 255, 0.54);
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.primary-button:hover {
	border-color: rgba(255, 255, 255, 0.32);
	box-shadow: 0 0 36px rgba(155, 66, 255, 0.7), 0 18px 38px rgba(82, 25, 176, 0.28);
}

.secondary-button {
	padding: 0 18px;
	border: 1px solid rgba(155, 66, 255, 0.62);
	background: rgba(155, 66, 255, 0.08);
	color: var(--ink);
	transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.secondary-button:hover {
	border-color: rgba(211, 72, 255, 0.8);
	background: rgba(155, 66, 255, 0.16);
}

.site-main {
	display: grid;
	gap: 22px;
	padding: 22px 0 34px;
}

.home-main {
	padding-top: 132px;
}

.hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1fr);
	gap: 52px;
	align-items: center;
	min-height: min(640px, calc(100svh - 168px));
	overflow: hidden;
	padding: 56px 56px 54px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 34px;
	background:
		radial-gradient(circle at 74% 16%, rgba(155, 66, 255, 0.35), transparent 28rem),
		radial-gradient(circle at 18% 84%, rgba(88, 33, 173, 0.24), transparent 24rem),
		linear-gradient(135deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)),
		rgba(3, 5, 10, 0.58);
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 42%;
	z-index: 0;
	height: 20%;
	pointer-events: none;
	content: "";
	background: linear-gradient(180deg, transparent, rgba(5, 7, 13, 0.68));
}

.hero::before {
	position: absolute;
	inset: 7% 0 auto 42%;
	z-index: 0;
	height: 420px;
	content: "";
	background: radial-gradient(circle, rgba(155, 66, 255, 0.58), transparent 68%);
	filter: blur(28px);
}

.hero-copy {
	position: relative;
	z-index: 3;
	max-width: 640px;
}

.hero-portrait {
	position: absolute;
	right: -1px;
	bottom: 0;
	z-index: 1;
	width: min(50vw, 730px);
	margin: 0;
	pointer-events: none;
	/* Apply the glow outside the image mask so its box cannot clip the blur. */
	filter: drop-shadow(0 0 16px rgba(183, 112, 255, 0.22)) drop-shadow(0 0 42px rgba(132, 52, 230, 0.2));
}

.hero-portrait::before {
	position: absolute;
	inset: 10% -4% 4%;
	z-index: -1;
	content: "";
	background: radial-gradient(ellipse, rgba(174, 94, 255, 0.42), rgba(123, 52, 221, 0.18) 44%, transparent 72%);
	filter: blur(28px);
}

.hero-portrait img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}

.eyebrow,
.card-meta,
.entry-meta {
	margin: 0 0 14px;
	color: #cfa6ff;
	font-family: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1 {
	max-width: 640px;
	margin-bottom: 20px;
	font-size: clamp(3.5rem, 5.45vw, 5.9rem);
	line-height: 0.96;
	letter-spacing: 0;
	text-wrap: balance;
}

.hero h1 {
	background: linear-gradient(180deg, #fff 0%, #ece6fb 50%, #b02fff 100%);
	background-clip: text;
	color: transparent;
}

h2 {
	margin-bottom: 0;
	font-size: clamp(2rem, 4vw, 4.1rem);
	line-height: 0.98;
	letter-spacing: 0;
	text-wrap: balance;
}

h3 {
	margin-bottom: 12px;
	font-size: clamp(1.25rem, 1.8vw, 1.72rem);
	line-height: 1.08;
	letter-spacing: 0;
	text-wrap: balance;
}

.hero p:not(.eyebrow),
.archive-header p,
.entry-header p {
	max-width: 620px;
	color: var(--muted);
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
}

.hero-actions {
	margin-top: 26px;
}

.text-link {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	color: #d986ff;
	font-weight: 800;
}

.button-link {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	margin-top: 8px;
	padding: 0 16px;
	border: 1px solid var(--ink);
	border-radius: var(--pill);
	background: var(--ink);
	color: var(--bg);
	font-weight: 800;
}

.search-form {
	display: flex;
	width: min(100%, 620px);
	gap: 10px;
	margin-top: 28px;
}

.search-form label {
	flex: 1;
}

.search-field {
	width: 100%;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--pill);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
		rgba(8, 10, 18, 0.68);
	color: var(--ink);
	font: inherit;
	outline: none;
}

.search-field::placeholder {
	color: rgba(216, 205, 235, 0.58);
}

.search-submit {
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--pill);
	background: linear-gradient(135deg, #b748ff, #6c2cff);
	color: #fff;
	font: inherit;
	font-weight: 850;
	cursor: pointer;
}

.section-band,
.apps-band {
	position: relative;
	overflow: hidden;
	padding: 56px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 30px;
	background:
		radial-gradient(circle at 88% 12%, rgba(155, 66, 255, 0.14), transparent 20rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
		rgba(8, 10, 18, 0.62);
	box-shadow: 0 22px 72px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.09);
	backdrop-filter: blur(16px) saturate(125%);
}

.archive-header,
.entry {
	margin: 36px 0 42px;
	padding: 44px;
	border: 1px solid var(--line);
	background:
		radial-gradient(circle at 82% 12%, rgba(155, 66, 255, 0.18), transparent 18rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025)),
		rgba(12, 13, 24, 0.64);
	box-shadow: 0 18px 58px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(18px) saturate(135%);
}

.archive-main,
.page-main,
.article-main {
	padding-top: 118px;
}

.archive-header,
.page-entry {
	position: relative;
	overflow: hidden;
	border-radius: 32px;
}

.archive-header::before,
.page-entry::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.024) 1px, transparent 1px);
	background-size: 68px 68px;
	mask-image: linear-gradient(180deg, black, transparent 76%);
	opacity: 0.42;
}

.archive-header > *,
.page-entry > * {
	position: relative;
	z-index: 1;
}

.archive-header h1,
.page-hero h1 {
	max-width: 920px;
}

.archive-header p:not(.eyebrow),
.page-hero p:not(.eyebrow) {
	max-width: 760px;
	color: var(--muted-strong);
	font-size: clamp(1.05rem, 1.8vw, 1.28rem);
}

.archive-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.archive-meta span,
.archive-meta a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--pill);
	background: rgba(255, 255, 255, 0.055);
	color: var(--muted-strong);
	font-size: 0.86rem;
	font-weight: 780;
}

.archive-meta a {
	color: #eba0ff;
}

.category-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.category-cloud a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--pill);
	background: rgba(255, 255, 255, 0.045);
	color: var(--ink);
	font-weight: 760;
}

.category-cloud span {
	display: grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(155, 66, 255, 0.22);
	color: #eba0ff;
	font-size: 0.78rem;
}

.archive-results {
	display: grid;
	gap: 28px;
}

.archive-results .post-grid {
	margin: 0;
}

.page-main {
	max-width: 1040px;
}

.page-entry {
	margin-bottom: 0;
	padding: 56px 58px;
}

.page-hero {
	margin-bottom: 36px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.page-entry .entry-content {
	max-width: 790px;
	margin-inline: 0;
	font-size: 1.08rem;
}

.page-entry .entry-content h2:first-child {
	margin-top: 0;
}

.page-entry .entry-content h2 {
	padding-top: 0.25em;
}

.project-entry {
	overflow: hidden;
}

.project-entry .page-hero,
.project-entry .entry-content {
	margin-inline: 0;
}

.page-cover,
.project-cover {
	margin: 0 -58px 42px;
}

.page-cover img,
.project-cover img {
	aspect-ratio: 16 / 8;
}

.site-main > .post-grid {
	margin: 36px 22px 0;
}

.latest-note {
	position: relative;
	isolation: isolate;
	max-width: none;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(193, 107, 255, 0.42);
	background:
		radial-gradient(circle at 18% 8%, rgba(255, 255, 255, 0.16), transparent 16rem),
		radial-gradient(circle at 72% 86%, rgba(155, 66, 255, 0.36), transparent 18rem),
		linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.045)),
		rgba(27, 22, 49, 0.66);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(24px) saturate(145%);
}
.latest-note > a { overflow:hidden; }
.latest-note-media { position:absolute; inset:0 0 0 auto; width:42%; margin:0; overflow:hidden; opacity:.72; mask-image:linear-gradient(90deg,transparent 0%,#000 35%); }
.latest-note-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.85) contrast(1.08); transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.latest-note-orbit { display:none; }
.latest-note > a > :not(.latest-note-media) { position:relative; z-index:1; max-width:62%; }

.latest-note::after {
	position: absolute;
	inset: -80px auto auto -18%;
	z-index: 0;
	width: 56%;
	height: 140px;
	pointer-events: none;
	content: "";
	background: linear-gradient(180deg, rgba(5, 7, 13, 0.68), transparent);
	filter: blur(18px);
}

.latest-note::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	content: "";
	/* The section clips this highlight to its responsive outer corners. */
	border-radius: 0;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 38%, rgba(211, 72, 255, 0.12));
}

.latest-note a {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 18px;
	padding: 48px 56px 52px;
	color: var(--ink);
}

.latest-note h2 {
	max-width: 820px;
	font-size: clamp(1.5rem, 2.1vw, 2rem);
	line-height: 1.2;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
}

.latest-note p {
	max-width: 760px;
	margin: 0;
	color: var(--muted);
	font-size: clamp(1rem, 1.1vw, 1.0625rem);
	line-height: 1.55;
}

.latest-note strong {
	margin-top: 10px;
	color: #eba0ff;
	font-size: 1.05rem;
}

.section-heading {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: end;
	margin-bottom: 26px;
}

.section-heading h2 {
	font-size: clamp(1.8rem, 3.2vw, 3.2rem);
}

.post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.content-card {
	border: 1px solid var(--line);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.03)),
		rgba(15, 15, 27, 0.62);
	box-shadow: 0 14px 42px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(18px) saturate(135%);
}

.feature-banner {
	position: relative;
	min-height: 280px;
	margin: 0;
	padding: 48px 56px;
	overflow: hidden;
	border: 1px solid var(--line-strong);
	background:
		radial-gradient(circle at 72% 36%, rgba(155, 66, 255, 0.64), transparent 14rem),
		radial-gradient(circle at 54% 110%, rgba(78, 30, 168, 0.84), transparent 20rem),
		linear-gradient(135deg, rgba(33, 21, 62, 0.96), rgba(6, 8, 16, 0.94));
	box-shadow: 0 20px 70px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.feature-banner::after {
	position: absolute;
	right: 8%;
	bottom: -42%;
	width: 390px;
	height: 390px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	content: "";
	background: radial-gradient(circle, rgba(155, 66, 255, 0.5), rgba(7, 9, 16, 0.15) 64%, transparent 65%);
}

.feature-banner > * {
	position: relative;
	z-index: 1;
}

.feature-banner p:not(.eyebrow) {
	max-width: 520px;
	color: var(--muted);
	font-size: 1.1rem;
}

.content-card {
	position: relative;
	overflow: hidden;
	min-height: 100%;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.content-card:hover {
	border-color: var(--line-strong);
	box-shadow: 0 26px 64px rgba(0, 0, 0, 0.38), 0 0 34px rgba(155, 66, 255, 0.12);
}

.content-card a {
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 100%;
}

.content-card figure {
	position: relative;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
	background: #16111f;
}

.content-card figure::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background: linear-gradient(180deg, transparent 35%, rgba(5, 7, 13, 0.9));
}

.content-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card-placeholder {
	display: grid;
	place-items: center;
	background:
		radial-gradient(circle at 70% 18%, rgba(211, 72, 255, 0.42), transparent 12rem),
		radial-gradient(circle at 18% 82%, rgba(108, 44, 255, 0.38), transparent 10rem),
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
		#090b14;
}

.card-placeholder span {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(3rem, 8vw, 6rem);
	font-weight: 900;
	line-height: 1;
	text-shadow: 0 0 32px rgba(211, 72, 255, 0.5);
}

.content-card figure + div {
	margin-top: -118px;
	background: linear-gradient(180deg, transparent, rgba(5, 7, 13, 0.72) 20%, rgba(5, 7, 13, 0.94));
}

.content-card div {
	position: relative;
	display: flex;
	flex-direction: column;
	align-self: end;
	padding: 20px;
}

.content-card p {
	color: var(--muted);
}

.content-card h3 {
	color: #fff;
}

.post-grid .content-card {
	min-height: 482px;
}

.post-grid .content-card figure {
	aspect-ratio: 16 / 10;
}

.post-grid .content-card h3,
.post-grid .content-card p:not(.card-meta) {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

.post-grid .content-card h3 {
	-webkit-line-clamp: 3;
}

.post-grid .content-card p:not(.card-meta) {
	margin-bottom: 0;
	-webkit-line-clamp: 4;
}

.card-meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	color: #d986ff;
	font-size: 0.68rem;
}

.recent-list {
	display: grid;
	margin-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.recent-row {
	display: grid;
	grid-template-columns: minmax(90px, 0.6fr) minmax(0, 2fr) auto;
	gap: 18px;
	align-items: center;
	min-height: 72px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: var(--ink);
}

.recent-row__label,
.recent-row__meta {
	color: #cfa6ff;
	font-family: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.68rem;
	font-weight: 750;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.recent-row__title {
	overflow: hidden;
	font-size: 1.02rem;
	font-weight: 820;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.recent-row__meta {
	color: rgba(216, 205, 235, 0.72);
	text-align: right;
}

.recent-row:hover .recent-row__title {
	color: #eba0ff;
}

.narrow {
	max-width: 900px;
}

.single-entry {
	position: relative;
	overflow: hidden;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background:
		radial-gradient(circle at 88% 4%, rgba(155, 66, 255, 0.22), transparent 24rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018)),
		rgba(8, 10, 18, 0.68);
	box-shadow: 0 28px 86px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(16px) saturate(128%);
}

.single-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
	padding: 34px 58px 14px;
}

.single-hero::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(rgba(255, 255, 255, 0.034) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: linear-gradient(180deg, black, transparent 58%);
	opacity: 0.34;
}

.single-hero__copy,
.article-footer {
	position: relative;
	z-index: 1;
}

.single-hero h1 {
	max-width: 920px;
	margin-bottom: 18px;
	font-size: clamp(2.65rem, 4.5vw, 4.85rem);
	line-height: 1;
}

.single-hero__copy > p:not(.eyebrow) {
	max-width: 720px;
	margin: 26px 0 0;
	color: var(--muted-strong);
	font-size: clamp(1.08rem, 1.8vw, 1.34rem);
}

.article-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	color: rgba(216, 205, 235, 0.78);
}

.article-facts span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0;
	border-radius: var(--pill);
	color: inherit;
	font-size: 0.86rem;
	font-weight: 780;
}

.article-facts span + span::before {
	width: 4px;
	height: 4px;
	margin-right: 14px;
	border-radius: 50%;
	background: rgba(207, 166, 255, 0.66);
	content: "";
}

.author-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.author-card img {
	width: 58px;
	height: 58px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
}

.author-card span,
.share-block > span,
.taxonomy-group > span {
	display: block;
	margin: 0 0 4px;
	color: #cfa6ff;
	font-family: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.66rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.author-card strong {
	display: block;
	color: var(--ink);
	font-weight: 820;
}

.author-card time {
	display: block;
	color: rgba(216, 205, 235, 0.68);
	font-size: 0.86rem;
}

.entry-cover {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.entry-cover img {
	width: 100%;
	height: clamp(280px, 34svh, 420px);
	object-fit: cover;
}

.entry-cover::after {
	position: absolute;
	inset: auto 0 0;
	height: 34%;
	pointer-events: none;
	content: "";
	background: linear-gradient(180deg, transparent, rgba(8, 10, 18, 0.9));
}

.article-indexes {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
	gap: 34px;
	margin: 8px 58px 0;
	padding: 30px 0 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.105);
}

.article-indexes::before {
	position: absolute;
	top: -1px;
	left: 0;
	width: min(240px, 42%);
	height: 1px;
	content: "";
	background: linear-gradient(90deg, rgba(211, 72, 255, 0.84), transparent);
}

.article-index h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	font-size: clamp(1.35rem, 2vw, 2rem);
	letter-spacing: 0;
}

.article-index h2::before {
	width: 12px;
	height: 12px;
	border-radius: 4px;
	content: "";
	background: linear-gradient(135deg, #fff, #d986ff 42%, #7c3cff);
	box-shadow: 0 0 18px rgba(211, 72, 255, 0.42);
	transform: rotate(45deg);
}

.article-index ol,
.category-index__posts {
	margin: 0;
	list-style: none;
}

.article-index--toc ol {
	display: grid;
	gap: 14px;
	padding: 2px 0 2px 22px;
	border-left: 2px solid rgba(211, 72, 255, 0.32);
	background: linear-gradient(180deg, rgba(211, 72, 255, 0.12), transparent 55%) left / 2px 100% no-repeat;
}

.article-index--toc li {
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	font-weight: 720;
	line-height: 1.35;
}

.article-index--toc .is-level-3 {
	padding-left: 18px;
	color: rgba(216, 205, 235, 0.76);
	font-size: 0.96rem;
}

.article-index a {
	color: rgba(247, 242, 255, 0.9);
}

.article-index a:hover {
	color: #eba0ff;
}

.article-index--categories ol {
	display: grid;
	gap: 12px;
	padding: 0;
}

.category-index__link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	min-height: 48px;
	color: var(--ink);
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	font-weight: 820;
}

.category-index__number {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: linear-gradient(135deg, #28b5ff, #7c3cff);
	color: #fff;
	font-size: 0.92rem;
	font-weight: 900;
	box-shadow: 0 10px 24px rgba(124, 60, 255, 0.24);
}

.article-index--categories li:nth-child(2n) .category-index__number {
	background: linear-gradient(135deg, #f000b8, #b943ff);
}

.article-index--categories li:nth-child(3n) .category-index__number {
	background: linear-gradient(135deg, #ff342e, #ff008a);
}

.article-index--categories li:nth-child(4n) .category-index__number {
	background: linear-gradient(135deg, #50dc8a, #18a957);
}

.article-index--categories li.is-current .category-index__link {
	color: #fff;
}

.category-index__posts {
	display: grid;
	gap: 9px;
	margin: 8px 0 10px 16px;
	padding: 4px 0 4px 32px;
	border-left: 2px solid rgba(211, 72, 255, 0.28);
}

.category-index__posts li {
	color: rgba(216, 205, 235, 0.78);
	font-size: 0.94rem;
	font-weight: 650;
	line-height: 1.35;
}

.article-layout {
	padding: 32px 58px 52px;
}

.share-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.share-links a,
.share-links button {
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.065);
	color: var(--ink);
	font: inherit;
	font-weight: 850;
	cursor: pointer;
	transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.share-links a:hover,
.share-links button:hover,
.share-links button.is-copied {
	transform: translateY(-2px);
	border-color: var(--line-strong);
	background: rgba(155, 66, 255, 0.18);
}

.entry-header {
	margin-bottom: 34px;
}

.entry-header h1 {
	font-size: clamp(2.7rem, 6vw, 5.8rem);
	color: var(--ink);
}

.entry-meta {
	gap: 14px;
}

.entry-content {
	max-width: 760px;
	margin-inline: auto;
	color: #e8e1f5;
	font-size: 1.08rem;
}

.entry-content > :first-child {
	margin-top: 0;
}

.entry-content > * {
	max-width: 760px;
}

.entry-content > .alignwide,
.entry-content > .alignfull,
.entry-content > figure,
.entry-content > .wp-block-image {
	max-width: 100%;
}

.entry-content a {
	color: #d986ff;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 2em;
	color: var(--ink);
	scroll-margin-top: 132px;
}

.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content table,
.entry-content figure,
.entry-footer {
	margin-bottom: 1.25em;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.35em;
}

.entry-content li + li {
	margin-top: 0.42em;
}

.entry-content hr {
	max-width: 100%;
	height: 1px;
	margin: 2.2em 0;
	border: 0;
	background: linear-gradient(90deg, transparent, rgba(211, 72, 255, 0.42), transparent);
}

.entry-content table {
	display: block;
	width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.entry-content th,
.entry-content td {
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	text-align: left;
}

.entry-content th {
	color: var(--ink);
	background: rgba(155, 66, 255, 0.12);
}

.entry-content .wp-block-button__link {
	border-radius: var(--pill);
	background: linear-gradient(135deg, #b748ff, #6c2cff);
	box-shadow: 0 0 24px rgba(155, 66, 255, 0.38);
	color: #fff;
	font-weight: 850;
}

.entry-content blockquote {
	margin: 1.5em 0;
	padding: 0.15em 0 0.15em 1.1em;
	border-left: 2px solid var(--accent);
	border-radius: 0;
	background: none;
	color: var(--ink);
	font-size: inherit;
}

.entry-content code {
	padding: 0.12em 0.35em;
	border-radius: 4px;
	background: rgba(155, 66, 255, 0.16);
	font-family: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;
}

.entry-content pre {
	overflow: auto;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #02040a;
	color: var(--ink);
}

.tag-list {
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.tag-list a {
	padding: 6px 10px;
	border: 1px solid var(--line);
	border-radius: var(--pill);
	background: rgba(255, 255, 255, 0.055);
	color: var(--muted);
	font-size: 0.86rem;
	font-weight: 700;
}

.article-taxonomy {
	display: grid;
	gap: 16px;
	align-self: start;
}

.taxonomy-group > span {
	margin-bottom: 9px;
}

.taxonomy-group--categories .tag-list a {
	border-color: rgba(211, 72, 255, 0.38);
	background:
		linear-gradient(135deg, rgba(211, 72, 255, 0.16), rgba(124, 60, 255, 0.08)),
		rgba(255, 255, 255, 0.06);
	color: #f3dcff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.taxonomy-group--tags .tag-list a {
	border-color: rgba(255, 255, 255, 0.105);
	background: rgba(255, 255, 255, 0.038);
	color: rgba(216, 205, 235, 0.72);
	font-size: 0.8rem;
}

.single-entry > .entry-footer {
	margin: 0 58px 52px;
}

.article-footer {
	display: grid;
	grid-template-columns: minmax(210px, 0.8fr) minmax(0, 1.2fr) auto;
	gap: 22px;
	align-items: center;
	padding: 24px 0 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.article-taxonomy .tag-list {
	margin-top: 0;
}

.share-block {
	display: grid;
	gap: 8px;
	justify-items: end;
}

.related-posts {
	margin-top: 24px;
}

.article-summary,
.article-quote,
.article-verdict {
	margin-right: 58px;
	margin-left: 58px;
}

.article-summary {
	margin-top: 8px;
	margin-bottom: 34px;
}

.article-summary .eyebrow {
	margin-bottom: 14px;
}

.article-summary ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.article-summary li {
	position: relative;
	padding-left: 24px;
	color: var(--ink);
	font-weight: 700;
}

.article-summary li::before {
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 14px rgba(211, 72, 255, 0.8);
	content: "";
}

.article-quote {
	margin-top: 34px;
	margin-bottom: 42px;
	padding: 28px 34px;
	border: 0;
	border-left: 4px solid #efff00;
	border-radius: 0 22px 22px 0;
	background: linear-gradient(135deg, rgba(239, 255, 0, 0.12), rgba(155, 66, 255, 0.12));
}

.article-quote p {
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	font-weight: 800;
	line-height: 1.18;
}

.article-quote cite {
	display: block;
	margin-top: 14px;
	color: var(--muted-strong);
	font-size: 0.9rem;
	font-style: normal;
	font-weight: 700;
}

.article-rating { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 28px; align-items:center; margin:0 58px 38px; overflow:hidden; }
.article-rating::after { position:absolute; top:-120px; right:-50px; width:330px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(183,72,255,.16),transparent 68%); pointer-events:none; content:""; }
.article-rating__score { position:relative; z-index:1; display:flex; flex-shrink:0; align-items:baseline; gap:6px; min-width:174px; padding-right:28px; border-right:1px solid rgba(211,72,255,.28); white-space:nowrap; }
.article-rating__score strong { background:linear-gradient(135deg,#fff,#d9b5ff 55%,#b748ff); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:clamp(2.6rem,4.5vw,3.65rem); font-weight:900; letter-spacing:-.045em; line-height:.92; white-space:nowrap; }
.article-rating__score span { color:#efff00; font-size:.86rem; font-weight:850; letter-spacing:.04em; white-space:nowrap; }
.article-rating__copy { position:relative; z-index:1; }
.article-rating__copy .eyebrow { margin:0 0 6px; }
.article-rating__copy p:last-child { margin:0; color:#d8cdeb; font-size:1.02rem; }

.article-verdict {
	margin-top: 18px;
	margin-bottom: 46px;
}

.article-verdict__heading {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	align-items: center;
	justify-content: space-between;
}

.article-verdict__heading .eyebrow {
	margin: 0;
}

.article-verdict__badge {
	display: inline-flex;
	padding: 8px 13px;
	border-radius: var(--pill);
	background: #efff00;
	color: #11121a;
	font-size: 0.82rem;
	font-weight: 850;
}

.article-verdict__badge--no {
	background: rgba(255, 255, 255, 0.14);
	color: var(--ink);
}

.article-verdict__text {
	max-width: 760px;
	margin: 18px 0 0;
	color: var(--ink);
	font-size: 1.12rem;
	font-weight: 650;
}

.article-verdict__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 22px;
}

.article-verdict__columns > div {
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	background: rgba(0, 0, 0, 0.16);
}

.article-verdict__columns span {
	color: #efff00;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.article-verdict__columns p {
	margin: 8px 0 0;
	color: var(--ink);
}

/* Shared editorial card language for summary, rating and verdict. */
.article-summary,
.article-rating,
.article-verdict {
	border: 1px solid rgba(211, 72, 255, 0.34);
	border-left: 3px solid rgba(239, 255, 0, 0.78);
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(155, 66, 255, 0.13));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 16px 42px rgba(0, 0, 0, 0.12);
}

.article-summary,
.article-verdict {
	padding: 24px 28px;
}

.article-rating {
	padding: 20px 28px 20px 26px;
}

/* Each optional block remains independent, while adjacent blocks read as one system. */
.article-module {
	margin-top: 16px;
	margin-bottom: 16px;
}

.article-summary.article-module {
	margin-top: 8px;
	margin-bottom: 16px;
}

.article-verdict.article-module {
	margin-top: 16px;
	margin-bottom: 32px;
}

.reveal-in {
	animation: fb-reveal 620ms cubic-bezier(0.2, 0.72, 0.2, 1) both;
	animation-delay: var(--delay, 0ms);
}

@keyframes fb-reveal {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.985);
		filter: blur(8px);
	}

	to {
		opacity: 1;
		transform: none;
		filter: blur(0);
	}
}

.apps-band h2 {
	max-width: 700px;
}

.apps-band .section-heading {
	margin-bottom: 34px;
}

.apps-band .content-card {
	min-height: 360px;
}

.apps-band .content-card a {
	grid-template-rows: 190px 1fr;
}

.apps-band .content-card figure {
	aspect-ratio: auto;
	height: 190px;
	position:relative;
	 isolation:isolate;
}
.apps-band .content-card figure::before { content:""; position:absolute; inset:12% 18%; z-index:-1; background:radial-gradient(circle,rgba(170,90,255,.55),transparent 68%); filter:blur(28px); transform:scale(1.25); }
.apps-band .content-card figure img { filter:drop-shadow(0 18px 22px rgba(0,0,0,.45)); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease; }
.apps-band .content-card:hover figure img { filter:drop-shadow(0 28px 28px rgba(0,0,0,.55)); }

.apps-band .content-card figure + div {
	margin-top: -62px;
	background: linear-gradient(180deg, transparent, rgba(5, 7, 13, 0.78) 22%, rgba(5, 7, 13, 0.96));
}

.apps-band .content-card h3 {
	max-width: 520px;
	font-size: clamp(1.7rem, 2.8vw, 2.6rem);
}

.apps-band .content-card p:not(.card-meta) {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.navigation.pagination {
	margin: 34px 0;
}

.nav-links {
	flex-wrap: wrap;
	gap: 8px;
}

.page-numbers {
	display: grid;
	place-items: center;
	min-width: 38px;
	height: 38px;
	border: 1px solid var(--line);
	border-radius: var(--pill);
	background: rgba(255, 255, 255, 0.055);
	font-weight: 700;
}

.page-numbers.current {
	background: var(--ink);
	color: var(--bg);
}

.empty-state {
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.055);
}

.home-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin: 0;
	padding: 34px 40px;
	border: 1px solid rgba(193, 107, 255, 0.32);
	border-radius: 30px;
	background:
		radial-gradient(circle at 8% 50%, rgba(211, 72, 255, 0.2), transparent 18rem),
		linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
		rgba(18, 16, 34, 0.68);
	box-shadow: 0 22px 64px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(24px) saturate(145%);
}

.home-cta h2 {
	margin-bottom: 10px;
	font-size: clamp(1.6rem, 3vw, 2.65rem);
}

.home-cta p:not(.eyebrow) {
	max-width: 620px;
	margin: 0;
	color: var(--muted-strong);
}

.site-footer {
	display: grid;
	grid-template-columns: auto minmax(180px, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 38px 0 52px;
	color: var(--muted);
}

.footer-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--ink);
	font-weight: 800;
}

.footer-brand img {
	width: 42px;
	height: 42px;
}

.site-footer span {
	display: block;
}

.site-footer small {
	color: rgba(216, 205, 235, 0.64);
}

@media (max-width: 960px) {

	.site-header {
		margin-inline: auto;
	}

	.nav-capsule {
		justify-self: end;
		flex-wrap: wrap;
		justify-content: flex-start;
		border-radius: 24px;
	}

	.hero,
	.apps-band {
		grid-template-columns: 1fr;
	}

	.archive-main,
	.page-main,
	.article-main,
	.home-main {
		padding-top: 24px;
	}

	.single-hero,
	.article-layout,
	.article-indexes {
		grid-template-columns: 1fr;
	}

	.single-hero {
		padding: 36px 34px 12px;
	}

	.article-indexes {
		margin-inline: 34px;
	}

	.article-layout {
		padding: 24px 34px 38px;
	}

	.page-cover,
	.project-cover {
		margin: 0 -34px 34px;
	}

	.entry-cover img {
		height: clamp(220px, 30svh, 320px);
	}

	.hero-portrait {
		margin-inline: auto;
	}

	.latest-note {
		max-width: none;
	}

	.site-main > .post-grid {
		margin-inline: 0;
	}

	.post-grid .content-card,
	.apps-band .content-card {
		min-height: 0;
	}

	.recent-row {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.recent-row__meta {
		text-align: left;
	}

	.section-heading,
	.home-cta,
	.site-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.home-cta,
	.site-footer {
		display: flex;
	}
}

@media (max-width: 620px) {

	.nav-capsule {
		justify-self: stretch;
	}

	.nav-capsule {
		padding: 14px;
	}

	.site-main {
		gap: 14px;
		padding-top: 24px;
	}

	h1 {
		font-size: clamp(3.1rem, 18vw, 4.6rem);
	}

	.hero,
	.section-band,
	.apps-band,
	.feature-banner {
		border-radius: 22px;
	}

	.single-hero,
	.article-layout,
	.article-indexes {
		border-radius: 22px;
	}

	.single-hero {
		padding: 30px 22px 10px;
	}

	.article-indexes {
		margin-inline: 22px;
		padding-top: 24px;
	}

	.page-cover,
	.project-cover {
		margin: 0 -22px 28px;
	}

	.search-form {
		flex-direction: column;
	}

	.article-facts span {
		min-height: 34px;
		font-size: 0.8rem;
	}

	.archive-header,
	.entry {
		margin: 24px 0 32px;
		padding: 28px 22px;
	}

	.single-entry {
		padding: 0;
	}

	.single-entry > .entry-footer {
		margin: 0 22px 34px;
	}

	.share-block {
		justify-items: start;
	}

	.latest-note a {
		padding: 28px 24px 32px;
	}

	.latest-note h2 {
		font-size: 1.5rem;
	}

	.home-cta {
		padding: 24px;
		border-radius: 20px;
	}
}

/* Single article: full image, title, then reading column and right navigation. */
.article-main {
	max-width: 1280px;
}

.single-entry > .entry-cover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
}

.single-entry > .entry-cover::after {
	display: none;
}

.single-entry > .single-hero {
	padding-top: 40px;
}

.article-layout > .entry-content {
	width: 100%;
	min-width: 0;
}

.article-layout > .article-indexes {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px;
	margin: 0;
	padding: 4px 0 0 24px;
	border-top: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 0;
	min-width: 0;
	overflow-wrap: anywhere;
}

.article-layout > .article-indexes::before {
	display: none;
}

.article-layout .article-index h2 {
	font-size: 1.08rem;
	line-height: 1.4;
}

@media (max-width: 700px) {
	.article-summary,
	.article-quote,
	.article-verdict {
		margin-right: 20px;
		margin-left: 20px;
	}

	.article-summary {
		padding: 20px;
	}

	.article-quote {
		padding: 22px 20px;
	}

	.article-verdict {
		padding: 22px 20px;
	}

	.article-verdict__columns {
		grid-template-columns: 1fr;
	}
}

/* Keep quotes compact, including the final paragraph's default margin. */
.entry-content blockquote > :first-child { margin-top: 0; }
.entry-content blockquote > :last-child { margin-bottom: 0; }
.entry-content blockquote p { font-weight: 400; }
.entry-content blockquote strong { font-weight: 600; }
.entry-content blockquote cite {
  display: block;
  margin-top: 0.6rem;
  font-size: 0.875rem;
  font-style: normal;
  color: #b8afc6;
}

/* Image captions stay visually secondary to the article text. */
.entry-content .wp-block-image figcaption,
.entry-content .wp-caption-text {
  margin-top: 0.6rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #b8afc6;
  text-align: left;
}

/* ==== Customizer design options (was design.css) ==== */
/* Theme-wide presentation, edited in Appearance > Customize. */
html { background: var(--bg); }
body { font-size: var(--body-size); background: radial-gradient(ellipse at 75% 0%, color-mix(in srgb,var(--accent) 22%,transparent),transparent 38rem),var(--bg); color:var(--ink); }
body::after { background: transparent; }

.nav-capsule, .site-header.is-scrolled .nav-capsule { position:relative; isolation:isolate; background:linear-gradient(125deg,rgba(255,255,255,.12),rgba(255,255,255,.015) 48%,rgba(255,255,255,.065)),rgba(18,16,30,var(--glass-alpha)); border:1px solid rgba(255,255,255,.23); backdrop-filter:blur(var(--glass-blur)) saturate(175%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(175%); box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(255,255,255,.07),0 12px 40px rgba(0,0,0,.16); }
.nav-capsule::before { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1; background:radial-gradient(circle at var(--shine-x,30%) var(--shine-y,0%),rgba(255,255,255,.18),transparent 55%); }
.site-nav a { text-shadow:0 1px 8px rgba(0,0,0,.75); }
.button-link,.search-submit { background:linear-gradient(130deg,color-mix(in srgb,var(--accent) 85%,white),var(--accent)); }
.entry,.content-card,.explore-topic,.archive-header,.section-band { border-radius:var(--card-radius); }
.footer-redesign.site-footer { display:block; margin-top:80px; }
.footer-columns { display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:64px; padding:48px 0; }
.footer-identity p { max-width:360px; line-height:1.7; }
.footer-columns h3 { margin:0 0 18px; color:var(--ink); font-size:.9rem; }
.footer-redesign .footer-menu { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-redesign .footer-menu a { padding:0; font-weight:400; }
.footer-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid var(--line); font-size:.8rem; }
.footer-redesign a:hover { color:var(--ink); }
.footer-bottom span { display:inline; }
.page-entry.legal-page,.page-entry.about-page { padding:0; }
.legal-page .page-hero { padding:clamp(28px,5vw,64px); border-bottom:1px solid var(--line); }
.legal-page .page-hero h1 { font-size:clamp(2.3rem,5vw,4.5rem); max-width:900px; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; padding:48px clamp(24px,4vw,56px); align-items:start; }
.legal-sidebar { position:sticky; top:125px; }
.legal-sidebar h2 { margin:0 0 20px; font-size:.85rem; color:var(--muted); }
.legal-sidebar a { display:block; padding:12px 16px; border-left:2px solid var(--line); font-size:.9rem; }
.legal-sidebar a[aria-current="page"] { color:var(--ink); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); }
.legal-page .entry-content,.about-page .entry-content { width:100%; max-width:780px; margin:0; padding:0; min-width:0; font-size:1rem; line-height:1.85; overflow-wrap:anywhere; }
.legal-page .entry-content a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.about-hero { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:center; padding:clamp(28px,5vw,64px); border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 100% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 65%); }
.about-hero h1 { font-size:clamp(2.4rem,4.8vw,4.8rem); line-height:1.06; letter-spacing:-.055em; margin:0 0 26px; }
.about-hero .button-link { margin-top:16px; }
.about-portrait { margin:0; }
.about-portrait img { border-radius:var(--card-radius); width:100%; max-height:560px; object-fit:cover; }
.about-page .entry-content h2 { letter-spacing:-.035em; }
.reading-progress { position:fixed; top:0; left:0; width:100%; height:3px; background:var(--accent); z-index:100; transform-origin:left; transform:scaleX(var(--reading-progress,0)); pointer-events:none; }
body:not(.fb-motion) .reveal-in { animation:none; }
:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
@media (max-width:960px) { .legal-layout { grid-template-columns:1fr; gap:28px; } .legal-sidebar { position:static; } .legal-sidebar nav { display:flex; flex-wrap:wrap; gap:8px; } .legal-sidebar h2 { width:100%; margin-bottom:8px; } .legal-sidebar a { border-left:0; border-bottom:2px solid var(--line); padding:8px; } .about-hero { grid-template-columns:1fr; } .about-portrait { max-width:380px; } .footer-columns { gap:28px; } }
@media (max-width:620px) { .footer-columns { grid-template-columns:1fr 1fr; padding:32px 8px; } .footer-identity { grid-column:1/-1; } .footer-bottom { flex-direction:column; padding:24px 8px 0; gap:16px; } .footer-redesign.site-footer { margin-top:48px; } .legal-layout { padding:24px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

.about-hero .button-link { color:#fff; display:inline-flex; gap:12px; align-items:center; text-decoration:none; }
.legal-page .entry-content > div { width:100%; }
.legal-page.page-entry { overflow:visible; }
.legal-page .page-hero { border-radius:var(--card-radius) var(--card-radius) 0 0; }

/* ==== Responsive layout (was responsive.css) ==== */
/* Fluid layouts; loaded after presentation styles. No clipping to hide overflow. */
:root { --page-gutter:clamp(16px,4vw,64px); }
.content-card,.section-band,.feature-banner,.latest-note,.about-page,.single-entry { border-radius:var(--card-radius); }
html { scroll-padding-top:110px; -webkit-text-size-adjust:100%; }
.site-main,.site-footer { width:min(var(--max),calc(100% - var(--page-gutter)*2)); }
.site-main > *, .hero-copy, .section-heading > *, .content-card, .content-card > *, .home-cta > *, .footer-columns > * { min-width:0; }
h1,h2,h3,p,li,.button-link,.text-link { overflow-wrap:anywhere; }
h1,h2 { text-wrap:balance; }
.hero h1 { font-size:clamp(2rem,4.8vw,5.4rem); line-height:1.06; max-width:100%; }
.hero-copy { width:100%; }
.hero-copy p { max-width:100%; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions a,.home-cta .primary-button { white-space:normal; text-align:center; min-height:44px; }
.section-heading { flex-wrap:wrap; }
.search-form label { min-width:0; }
input,select,textarea { max-width:100%; font-size: max(16px,1em); }
.entry-content iframe,.entry-content video,.entry-content embed,.entry-content object { max-width:100%; }
.entry-content iframe[src*="youtube"],.entry-content iframe[src*="vimeo"] { width:100%; height:auto; aspect-ratio:16/9; }
.entry-content pre,.entry-content .wp-block-table { max-width:100%; overflow-x:auto; }
.entry-content table { max-width:100%; overflow-wrap:anywhere; }
.entry-content img { max-width:100%; height:auto; }
.page-cover,.project-cover { max-width:100%; margin-inline:0; }
.page-cover img,.project-cover img { width:100%; height:auto; object-fit:contain; }
.pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; height:auto; padding:10px 14px; font-size:.9rem; line-height:1.35; text-align:center; }
.pagination .page-numbers:is(.prev,.next) { padding-inline:20px; max-width:100%; overflow-wrap:anywhere; }
.pagination .page-numbers.current { background:rgba(183,72,255,.2); border-color:var(--accent); color:var(--ink); }
.pagination .page-numbers.dots { background:none; border-color:transparent; box-shadow:none; }
.search-form { align-items:stretch; }
.search-form .search-field { min-width:0; height:100%; padding:12px 18px; font-size:1rem; line-height:1.5; }
.search-form .search-submit { flex-shrink:0; padding:12px 22px; font-size:.95rem; line-height:1.5; font-weight:600; }
.fb-search-field input { flex:1 1 0; width:0; font-size:1rem; line-height:1.5; }
.fb-search-field button { padding:12px 20px; font-size:.95rem; line-height:1.5; }
.fb-search-results > a { min-width:0; }
.fb-search-results strong { display:block; }
@media(max-width:480px) {
 .fb-dialog.fb-search { padding:20px; border-radius:24px; }
 .fb-search-field { flex-wrap:wrap; }
 .fb-search-field input { flex-basis:180px; }
}
.site-footer { padding-bottom:max(30px,env(safe-area-inset-bottom)); }
.menu-toggle { display:none; }
@media (min-width:1101px) {
 .site-header { left:max(var(--page-gutter),calc((100vw - var(--max))/2)); right:max(var(--page-gutter),calc((100vw - var(--max))/2)); }
 .site-main { padding-top:140px; }
 .hero { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:32px; }
 .hero-copy { max-width:700px; }
}
@media (max-width:1100px) {
 html { scroll-padding-top:100px; }
 .site-header { display:grid; align-items:center; }
 .site-header .brand-lockup { min-width:0; grid-column:1; grid-row:1; }
 .site-header .site-logo img { object-fit:contain; }
 .nav-ready .menu-toggle { grid-column:3; grid-row:1; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:var(--pill); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); font:inherit; font-size:.875rem; cursor:pointer; }
 .menu-toggle-icon { width:16px; height:12px; border-block:1.5px solid currentColor; position:relative; }
 .menu-toggle-icon::after { content:""; position:absolute; top:4px; left:0; width:16px; border-top:1.5px solid currentColor; }
 .site-header .nav-capsule { grid-column:1/-1; grid-row:2; width:100%; justify-self:stretch; margin:0; border-radius:20px; padding:12px; max-height:calc(100dvh - 100px); overflow:auto; }
 .nav-ready .site-header .nav-capsule { display:none; }
 .nav-ready .site-header.menu-open .nav-capsule { display:block; }
 .header-nav-shell,.site-nav { width:100%; }
 .site-header .site-nav .menu { display:flex; flex-direction:column; align-items:stretch; max-width:none; }
 .site-header .site-nav .menu li { width:100%; }
 .site-header .site-nav .menu a { white-space:normal; overflow-wrap:anywhere; text-align:left; }
 .site-main.home-main,.site-main.archive-main,.site-main.page-main,.site-main.article-main { padding-top:24px; }
 .hero { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); padding:36px; gap:24px; min-height:0; }
 .hero-portrait { position:relative; width:100%; grid-row:auto; right:auto; align-self:end; margin:0; }
 .hero h1 { font-size:clamp(2.2rem,5vw,3.8rem); }
 .hero-copy p { font-size:1.05rem; }
 .post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .article-layout > .article-indexes { padding:24px 0 0; border-left:0; border-top:1px solid var(--line); }
 .article-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .article-footer .share-block { justify-items:start; }
 .feature-banner { padding-right:80px; }
}
/* Keep the tablet portrait flush with the hero's bottom edge. */
@media (min-width:701px) and (max-width:1100px) {
 .home-main .hero { padding-bottom:0; }
 .home-main .hero-copy { padding-bottom:36px; }
 .home-main .hero-portrait img { display:block; }
}

@media (max-width:700px) {
	.single-entry { margin-inline:0; }
	.single-entry > .single-hero, .single-entry > .article-layout { border-radius:0; margin-inline:0; }
	.single-entry .article-layout { padding:18px 18px 28px; }
	.single-entry .article-indexes { margin-inline:0; padding-inline:0; }
	.single-entry .entry-content { max-width:none; }
	.single-entry .entry-content > p, .single-entry .entry-content > ul, .single-entry .entry-content > ol, .single-entry .entry-content > blockquote { margin-inline:0; }
	.single-entry .article-footer { margin-inline:0; }
	.latest-note-media { position:relative; inset:auto; height:190px; margin:-28px -24px 24px; width:calc(100% + 48px); mask-image:linear-gradient(180deg,#000 60%,transparent); opacity:.6; }
	.latest-note > a > :not(.latest-note-media) { max-width:none; }
	body.fb-full-width-light .site-main.full-width-light-main { padding-top:24px!important; }

	.hero { grid-template-columns:minmax(0,1fr); padding:28px 24px 0; gap:24px; }
 .hero h1 { font-size:clamp(1.9rem,8.2vw,3.4rem); }
 .hero-portrait { width:min(100%,420px); grid-row:2; margin-inline:auto; }
 .hero-actions { gap:10px; }
 .hero-actions a { padding:12px 16px; font-size:.9rem; }
 .section-band,.apps-band,.feature-banner { padding:28px 24px; }
 .feature-banner { padding-bottom:84px; }
 .section-heading { align-items:flex-start; gap:16px; }
 .section-heading h2,.home-cta h2 { font-size:clamp(1.5rem,6vw,2.3rem); }
 .post-grid { grid-template-columns:minmax(0,1fr); }
 .archive-header h1,.page-hero h1,.single-hero h1,.legal-page .page-hero h1,.about-hero h1 { font-size:clamp(1.8rem,7.5vw,3rem); line-height:1.12; }
 .single-entry > .single-hero { padding:28px 24px 16px; }
 .article-layout { padding:20px 24px 32px; }
 .article-footer { grid-template-columns:minmax(0,1fr); }
 .article-facts { flex-wrap:wrap; }
 .entry-content { font-size:1rem; line-height:1.75; }
 .entry-content h2 { font-size:clamp(1.4rem,5.5vw,2rem); }
 .about-hero { padding:28px 24px; gap:24px; }
 .legal-page .page-hero { padding:28px 24px; }
 .legal-sidebar a { min-height:44px; }
 .footer-columns { gap:24px 16px; }
 .footer-redesign .footer-menu a { display:inline-flex; align-items:center; min-height:44px; }
 .footer-redesign .footer-menu { gap:2px; }
 .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
 .recent-row__meta { white-space:normal; }
 .home-cta { align-items:stretch; }
 .entry-content .alignleft,.entry-content .alignright { float:none; margin:24px 0; }
}
@media (max-width:359px) {
 .hero,.section-band,.apps-band,.archive-header { padding-inline:20px; }
 .hero-actions { flex-direction:column; }
 .footer-columns { grid-template-columns:minmax(0,1fr); }
 .footer-identity { grid-column:auto; }
}
/* Article navigation follows the same reading layout as the legal pages. */
.single-entry.entry { overflow:visible; }
.single-entry > .entry-cover { overflow:hidden; border-radius:var(--card-radius) var(--card-radius) 0 0; }
.single-entry > .single-hero { padding-bottom:36px; border-bottom:1px solid var(--line); }
.single-entry > .article-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:48px; align-items:start; padding:40px clamp(24px,4vw,56px) 52px; }
.single-entry .article-layout > .article-indexes { position:sticky; top:110px; display:block; max-height:calc(100dvh - 134px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; padding:0 12px 0 0; margin:0; border:0; background:none; box-shadow:none; border-radius:0; }
.article-indexes .article-index { margin:0 0 28px; }
.article-indexes .article-index summary { padding:8px 0 16px; font-size:.85rem; font-weight:650; color:var(--muted-strong); cursor:pointer; }
.article-indexes .article-index summary::marker { color:var(--accent); }
.article-indexes .article-index ol { margin:0; padding:0; list-style:none; display:block; }
.article-indexes .article-index li { margin:0; padding:0; }
.article-indexes .article-index--toc li a { display:block; border-left:2px solid var(--line); font-size:.85rem; line-height:1.5; font-weight:450; }
.article-indexes .article-index--toc li.is-level-3 a { font-size:.8rem; }
.article-indexes .article-index--toc a:hover,.article-indexes .article-index--toc a[aria-current="location"] { border-color:var(--accent); }
.article-indexes .category-index__link { grid-template-columns:minmax(0,1fr) auto; padding:9px 12px; border-left:2px solid var(--line); font-size:.85rem; line-height:1.5; }
.article-indexes .category-index__number { display:none; }
.article-indexes .is-current > .category-index__link { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); }
.article-indexes .category-index__posts { margin:8px 0 16px; padding-left:20px; }
.article-indexes .category-index__posts a { display:block; padding:8px 0; font-size:.8rem; }
.single-entry .article-layout > .entry-content { min-width:0; width:100%; max-width:780px; margin:0; }
.single-entry .entry-content :is(h2,h3) { scroll-margin-top:110px; }
@media(max-width:1000px) {
 .single-entry > .article-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding:24px; }
 .single-entry .article-layout > .article-indexes { position:static; max-height:none; padding:0; overflow:visible; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .article-indexes .article-index { align-self:start; margin:0; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.025); }
 .article-indexes .article-index summary { padding:14px 16px; min-height:48px; }
 .article-indexes .article-index > ol { max-height:50dvh; overflow-y:auto; padding:0 12px 12px; }
 .article-indexes .article-index--toc li a,.article-indexes .category-index__link { min-height:44px; }
 .single-entry .article-layout > .entry-content { max-width:100%; }
}
@media(max-width:560px) { .single-entry .article-layout > .article-indexes { grid-template-columns:minmax(0,1fr); } }
.single-entry .entry-content h2 { font-size:clamp(1.5rem,2.5vw,2.25rem); line-height:1.2; }
.single-entry .entry-content h3 { font-size:clamp(1.2rem,1.8vw,1.6rem); line-height:1.3; }
@media(min-width:1001px) {
 .article-indexes .article-index--toc > ol { scrollbar-width:thin; }
 .article-indexes .article-index--categories > ol { scrollbar-width:thin; }
}

.app-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.app-card { display:grid; grid-template-columns:76px minmax(0,1fr); gap:22px; padding:32px; border:1px solid rgba(255,255,255,.14); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018)); }
.app-card__icon { width:76px; height:76px; object-fit:contain; border-radius:18px; }
.app-card .eyebrow { font-size:.66rem; margin:0 0 8px; letter-spacing:.1em; }
.app-card h3 { margin:0 0 14px; font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.15; }
.app-card__description { margin:0; color:var(--muted); font-size:1rem; line-height:1.7; }
.app-card__link { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; min-height:44px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); color:#ddb1ff; font-weight:700; }
.app-card a:focus-visible,.app-feature a:focus-visible { outline:2px solid #ddb1ff; outline-offset:6px; }
.feature-banner.app-feature { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:32px; padding:40px 56px; background:radial-gradient(ellipse at 85% 65%,rgba(87,65,130,.32),transparent 60%),#13101c; }
.feature-banner.app-feature::after { display:none; }
.app-feature h2 { font-size:clamp(2rem,4vw,3.6rem); line-height:1.05; margin:14px 0 22px; }
.app-feature .secondary-button { gap:22px; margin-top:14px; min-height:48px; padding:12px 22px; white-space:normal; }
.app-feature__visual { margin:0; display:grid; place-items:center; }
.app-feature__visual img { width:100%; max-width:280px; height:330px; object-fit:contain; filter:drop-shadow(0 20px 24px rgba(0,0,0,.25)); }
#mis-apps { scroll-margin-top:120px; }
@media(max-width:700px) {
 .app-grid { grid-template-columns:minmax(0,1fr); }
 .app-card { padding:24px; grid-template-columns:60px minmax(0,1fr); gap:18px; }
 .app-card__icon { width:60px; height:60px; }
 .feature-banner.app-feature { padding:28px 24px; grid-template-columns:minmax(0,1fr); gap:24px; }
 .app-feature__visual img { height:260px; }
}

/* Editorial grid: cover and navigation alongside one continuous reading axis. */
.single-entry.editorial-entry { display:grid; grid-template-columns:minmax(230px,.78fr) minmax(0,2fr); gap:32px 48px; padding:clamp(24px,4vw,52px); align-items:start; }
.editorial-entry > .entry-cover { grid-column:1; grid-row:1; border-radius:16px; margin:0; align-self:start; }
.editorial-entry > .entry-cover img { width:100%; height:auto; max-height:none; object-fit:contain; border-radius:16px; }
.editorial-entry > .entry-cover figcaption { display:flex; justify-content:space-between; padding:12px 2px 0; font-size:.7rem; color:var(--muted); }
.single-entry.editorial-entry > .single-hero { grid-column:2; grid-row:1; padding:0 0 30px; margin:0; border-bottom:1px solid var(--line); overflow:visible; }
.editorial-entry .single-hero::before { display:none; }
.editorial-entry .single-hero h1 { font-size:clamp(2rem,3.5vw,3.55rem); line-height:1.07; margin:12px 0 20px; text-wrap:pretty; }
.editorial-entry .single-hero__copy > p:not(.eyebrow) { font-size:1.12rem; line-height:1.65; margin-top:22px; }
.editorial-entry .article-facts { gap:4px 12px; }
.editorial-entry .article-facts span { font-size:.75rem; min-height:28px; }
.editorial-entry .entry-content > :first-child { margin-top:0; }
.single-entry.editorial-entry > .entry-footer { grid-column:1/-1; margin:16px 0 0; }
@media(max-width:1000px) {
 .single-entry.editorial-entry { grid-template-columns:minmax(180px,.7fr) minmax(0,1.4fr); gap:28px; }
}
@media(max-width:700px) {
 .single-entry.editorial-entry { grid-template-columns:minmax(0,1fr); padding:24px; gap:24px; }
 .editorial-entry > .entry-cover { grid-column:1; grid-row:2; width:100%; max-width:420px; justify-self:center; }
 .single-entry.editorial-entry > .single-hero { grid-column:1; grid-row:1; padding-bottom:24px; }
 .editorial-entry .single-hero h1 { font-size:clamp(1.85rem,7.5vw,2.75rem); }
}
/* Translucent material; foreground adapts independently over light surfaces. */
.site-header .nav-capsule,.site-header.is-scrolled .nav-capsule,.nav-ready .site-header .nav-capsule { background:linear-gradient(125deg,rgba(255,255,255,.16),rgba(255,255,255,.025) 48%,rgba(255,255,255,.08)),rgba(18,16,30,var(--glass-alpha)); backdrop-filter:blur(var(--glass-blur)) saturate(175%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(175%); }
.site-header .site-nav .menu a { color:#f4efff; text-shadow:0 1px 3px rgba(0,0,0,.35); }
.site-header .nav-capsule.glass-on-light { background:linear-gradient(125deg,rgba(255,255,255,.48),rgba(255,255,255,.16) 48%,rgba(255,255,255,.28)),rgba(255,255,255,.16); border-color:rgba(255,255,255,.6); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(255,255,255,.22),0 8px 30px rgba(25,16,42,.12); }
.site-header .nav-capsule.glass-on-light .menu a { color:#272032; text-shadow:none; }
.site-header .nav-capsule.glass-on-light .menu a:hover { color:#7025a8; }
.site-header .site-logo.glass-on-light img { filter:brightness(0); }
.site-header .site-logo.glass-on-light { filter:drop-shadow(0 1px 2px rgba(255,255,255,.5)); }
.site-header .menu-toggle.glass-on-light { background:rgba(255,255,255,.3); color:#272032; border-color:rgba(40,30,55,.16); }

/* Keep the sticky index inside the reading area, above the author. */
.single-entry.editorial-entry > .article-layout { display:grid; grid-column:1/-1; grid-template-columns:minmax(230px,.78fr) minmax(0,2fr); gap:48px; padding:0; min-width:0; }
.editorial-entry .article-layout > .article-indexes { grid-column:1; grid-row:1; }
.editorial-entry .article-layout > .entry-content { grid-column:2; grid-row:1; }
.footer-brand img { filter:brightness(0) invert(1); }
.share-links svg { display:block; width:20px; height:20px; }
.share-links a,.share-links button { width:44px; height:44px; }
@media(max-width:1000px) {
 .single-entry.editorial-entry > .article-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 .editorial-entry .article-layout > .article-indexes { grid-column:1; grid-row:1; }
 .editorial-entry .article-layout > .entry-content { grid-column:1; grid-row:2; }
}
/* Biography: generous photographs and a consistent editorial rhythm. */
.page-entry.about-page { width:100%; max-width:none; background:linear-gradient(135deg,rgba(12,10,24,.98),rgba(45,16,78,.94)); border:1px solid var(--line); border-radius:var(--card-radius); padding:clamp(28px,3.6vw,56px); box-shadow:none; overflow:hidden; }
body:has(.about-page)::before { opacity:.08; }
.about-page .about-hero { display:flex; flex-direction:column; align-items:stretch; padding:0; gap:42px; background:none; border:0; }
.about-page .about-hero h1 { grid-column:1; grid-row:2/4; font-size:clamp(2.5rem,4.8vw,4.6rem); max-width:760px; margin:0; }
.about-page .about-portrait { width:100%; max-width:none; margin:0; }
.about-page .about-portrait img { display:block; width:100%; height:auto; max-height:none; border-radius:20px; }
.about-page .entry-content { font-size:1.06rem; }
.about-chapter { padding:54px 0; border-top:1px solid var(--line); }
.about-chapter--illustrated { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,84px); align-items:center; }
.about-chapter__copy { min-width:0; max-width:760px; }
.about-chapter:nth-child(even) .about-chapter__copy { order:2; }
.about-chapter:nth-child(even) .about-chapter__media { order:1; }
.about-page .entry-content h2 { padding:0; }
.about-chapter__copy > :first-child { margin-top:0; }
.about-chapter__copy > :last-child { margin-bottom:0; }
.about-page .about-chapter__media .wp-block-image,.about-page .about-chapter__media figure { width:100%; margin:0; float:none; }
.about-page .about-chapter__media img { clip-path:none!important; }
.about-chapter__media { min-width:0; }
.about-chapter__media > * + * { margin-top:24px!important; }
.about-page .wp-block-latest-posts { float:none; padding:0; width:100%; }
.about-page .wp-block-latest-posts li { padding:16px 0; border-bottom:1px solid var(--line); }
.about-page .wp-block-latest-posts a { text-decoration:none; }
@media(max-width:700px) {
 .about-page .about-hero h1 { margin:18px 0 24px; }
 .about-page .about-hero { gap:28px; }
 .about-page .about-portrait img { border-radius:12px; }
 .about-chapter,.about-chapter--illustrated { display:flex; flex-direction:column; align-items:stretch; gap:28px; padding:32px 0; }
 .about-chapter .about-chapter__copy { order:0; }
 .about-chapter .about-chapter__media { order:1; }
}
.about-page .entry-content > .about-chapter { max-width:none; width:100%; }
@media(max-width:700px) {
 .about-chapter:nth-child(even) .about-chapter__copy { order:0; }
 .about-chapter:nth-child(even) .about-chapter__media { order:1; }
}

.home-cta.social-hub { display:grid; align-items:center; }
.social-hub__intro h2 { max-width:620px; }
.social-hub__links { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); min-width:0; }
.social-profile { display:flex; align-items:center; min-width:0; color:var(--ink); border:1px solid var(--line); background:rgba(255,255,255,.045); text-decoration:none; }
.social-profile__symbol { display:grid; place-items:center; flex:0 0 44px; font-size:28px; font-weight:800; }
.social-profile__text { display:grid; gap:4px; min-width:0; }
.social-profile__text > span { font-size:.8rem; color:var(--muted); }
.social-profile__arrow { margin-left:auto; flex-shrink:0; }
.social-profile:hover,.social-profile:focus-visible { border-color:var(--accent); background:rgba(155,66,255,.14); }
.social-profile__symbol img { display:block; filter:brightness(0) invert(1); }
.social-hub__intro > p:not(.eyebrow) { max-width:620px; }
/* Compact social strip. */
.home-cta.social-hub { padding:24px 28px; gap:20px; border-radius:20px; grid-template-columns:auto minmax(0,1fr); }
.social-hub__intro .eyebrow,.social-hub__intro > p:not(.eyebrow) { display:none; }
.social-hub__intro h2 { margin:0; font-size:1.2rem; line-height:1.3; letter-spacing:-.025em; }
.social-hub__links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.social-profile { gap:9px; padding:10px 13px; min-height:44px; border-radius:12px; }
.social-profile__symbol { flex-basis:20px; width:20px; height:20px; border-radius:0; }
.social-profile__symbol img { width:19px; height:19px; }
.social-profile__text strong { font-size:.82rem; font-weight:600; }
.social-profile__arrow { display:none; }
@media(max-width:1000px) {
 .home-cta.social-hub { grid-template-columns:1fr; gap:16px; }
 .social-hub__links { justify-content:flex-start; }
}
@media(max-width:560px) {
 .home-cta.social-hub { padding:20px; }
 .social-hub__links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .social-profile { justify-content:center; padding:10px 6px; gap:6px; }
 .social-profile__text strong { font-size:.72rem; }
 .social-profile__symbol { flex-basis:16px; width:16px; height:16px; }
 .social-profile__symbol img { width:16px; height:16px; }
}
@media(max-width:360px) { .social-hub__links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.skip-link { position:fixed; top:12px; left:12px; z-index:100000; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; background:#fff; color:#17121f; border-radius:8px; }
.skip-link:focus-visible { width:auto; height:auto; padding:12px 20px; overflow:visible; clip-path:none; white-space:normal; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #cb9cff; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
 .reveal-in { animation:none!important; transition:none!important; }
}

/* Project pages start below the sticky header on every breakpoint. */
.project-entry { padding-top:clamp(40px,6vw,84px)!important; }

/* Portfolio pages start below the sticky header. */
.portfolio-template article.mq-version {
	margin-top:clamp(32px,5vw,72px)!important;
	padding-top:clamp(96px,9vw,144px)!important;
}
.portfolio-template article.mq-version > .mq-version__badge { margin-top:clamp(56px,8vw,120px)!important; }
body.single-portfolio { padding-top:clamp(112px,10vw,156px)!important; }
body.single-portfolio.fb-full-width-light { padding-top:0!important; }
body.single-portfolio .mq-version { transform:none!important; margin-top:0!important; margin-bottom:clamp(56px,8vw,120px)!important; }
/* Compact headers occupy normal flow: reserve space below, never above them. */
@media(max-width:1100px) {
 body.single-portfolio { padding-top:0!important; }
 body.single-portfolio .site-header { margin-bottom:24px; }
}

/* Plantilla seleccionable para páginas de apps: lienzo claro y realmente full width. */
body.fb-full-width-light { background:var(--full-width-bg,#fff)!important; color:#10131a; }
body.fb-full-width-light::before, body.fb-full-width-light::after { display:none; }
/* La cabecera ya ocupa su espacio en el flujo normal; no reservamos otro bloque vacío encima del contenido. */
body.fb-full-width-light .site-main.full-width-light-main { width:100%; max-width:none; margin:0; padding:clamp(40px,4vw,56px) 0 0; }
body.fb-full-width-light .full-width-light-entry, body.fb-full-width-light .full-width-light-content { width:100%; max-width:none; margin:0; padding:0; }
body.fb-full-width-light .full-width-light-content > * { max-width:none; }
body.fb-full-width-light .site-footer { margin-top:0; }
/* Las categorías se muestran completas; nunca crean un scroll interno. */
.article-indexes .article-index--categories,
.article-indexes .article-index--categories > ol { max-height:none!important; height:auto!important; overflow:visible!important; }
.article-indexes .article-index--toc,
.article-indexes .article-index--toc > ol { max-height:none!important; height:auto!important; overflow:visible!important; }

/* One compact header from tablet down to small phones. */
@media (max-width:1100px) {
 .site-header { --header-offset:max(10px,env(safe-area-inset-top)); position:sticky; top:var(--header-offset); left:auto; right:auto; z-index:100; width:calc(100% - var(--page-gutter)*2); margin:12px auto 0; color:#fff; }
 .site-header,.site-header.menu-open,.site-header:has(.menu-toggle:hover) { animation:none; transform:none; }
 .site-header .brand-lockup::before { display:none; }
 .site-header .site-logo { filter:none; }
 .site-header .site-logo img { filter:brightness(0) invert(1); }
 .nav-ready .menu-toggle,.site-header .menu-toggle.glass-on-light { min-width:44px; min-height:44px; padding:10px 12px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#fff; box-shadow:none; line-height:1.2; }
 .menu-toggle-icon { flex-shrink:0; }
 .menu-open .menu-toggle-icon { border-color:transparent; }
 .menu-open .menu-toggle-icon::before,.menu-open .menu-toggle-icon::after { content:""; position:absolute; top:4px; left:0; width:16px; border-top:1.5px solid currentColor; transform:rotate(45deg); }
 .menu-open .menu-toggle-icon::after { transform:rotate(-45deg); }
 .nav-ready .site-header .nav-capsule { position:absolute; left:0; right:0; width:100%; height:auto; min-height:0; max-height:calc(100dvh - var(--header-offset) - 104px); border:1px solid rgba(255,255,255,.2); overflow-y:auto; overscroll-behavior:contain; }
 .site-header .site-nav .menu a,.site-header .nav-capsule.glass-on-light .menu a { color:#fff; text-shadow:none; line-height:1.4; }
 body.admin-bar .site-header { --header-offset:calc(32px + max(10px,env(safe-area-inset-top))); }
}
@media (max-width:782px) { body.admin-bar .site-header { --header-offset:calc(46px + max(10px,env(safe-area-inset-top))); } }
@media (max-width:700px) {
 .nav-ready .menu-toggle { grid-column:2; }
}

/* Larger, high-contrast article copy on phones. */
@media (max-width:700px) {
 body.single-post .single-entry .entry-content {
  --ink:#fff;
  --muted-strong:#fff;
  font-size:1.125rem;
  line-height:1.8;
  color:#fff;
 }
 body.single-post .single-entry .entry-content :is(p,li,blockquote,th,td,h2,h3,h4,h5,h6) { color:#fff; }
}

/* Editorial callouts must always span the complete article, never the narrow index column. */
body.single-post .single-entry.editorial-entry > .article-summary,
body.single-post .single-entry.editorial-entry > .article-quote,
body.single-post .single-entry.editorial-entry > .article-verdict {
 grid-column:1/-1;
 width:auto;
 min-width:0;
}
body.single-post .single-entry.editorial-entry > .article-rating { grid-column:1/-1; width:auto; min-width:0; }
@media(max-width:700px) {
 body.single-post .article-rating { grid-template-columns:1fr; gap:12px; margin-inline:20px; }
 body.single-post .article-rating__score { min-width:0; padding-right:0; padding-bottom:12px; border-right:0; border-bottom:1px solid rgba(211,72,255,.28); }
 body.single-post .article-module { margin-block:10px; }
 body.single-post .article-verdict.article-module { margin-bottom:24px; }
}

/* Light app landing canvas continues through the compact header and safe area. */
@media (max-width:1100px) {
 html:has(body.fb-full-width-light) { background:var(--full-width-bg,#f8f9fa); }
 body.fb-full-width-light .site-header { color:#211b2b;
 }
 body.fb-full-width-light .site-header .menu-toggle {
  color:#211b2b;
 }
 body.fb-full-width-light .site-footer {
  background:var(--bg); width:100%; margin-top:0;
  padding:32px var(--page-gutter) max(30px,env(safe-area-inset-bottom));
 }
}

/* Menu control sits directly on the header, with a full touch target. */
@media (max-width:1100px) {
 .nav-ready .site-header .menu-toggle,
 body.fb-full-width-light .site-header .menu-toggle {
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
 }
}

/* Independent footer background, including full-width light templates. */
body .site-footer.footer-redesign {
 background:var(--footer-bg,#05070d);
 width:100%;
 padding:32px max(var(--page-gutter),calc((100% - var(--max))/2)) max(30px,env(safe-area-inset-bottom));
}

/* Rounded compact capsule and spacious, coherent navigation panel. */
@media (max-width:1100px) {
 .site-header { padding-inline:18px; }
 .nav-ready .site-header .nav-capsule {
  top:calc(100% + 12px); padding:12px; border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),transparent 65%),rgba(24,19,39,.97);
  backdrop-filter:blur(28px) saturate(150%); -webkit-backdrop-filter:blur(28px) saturate(150%);
  box-shadow:0 20px 48px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.15);
 }
 .site-header .site-nav .menu a,.site-header .nav-capsule.glass-on-light .menu a {
  display:flex; align-items:center; min-height:56px; padding:16px 20px;
  border-radius:20px; font-size:1.0625rem; font-weight:600; letter-spacing:-.015em;
  background:rgba(255,255,255,.035);
 }
 .site-header .site-nav .menu a:hover,.site-header .site-nav .menu a:focus-visible,
 .site-header .site-nav .current-menu-item > a,.site-header .site-nav .menu a.is-active {
  background:rgba(182,126,255,.2); color:#fff;
 }
 .site-header .site-nav .menu a:focus-visible { outline:2px solid #c99aff; outline-offset:-2px; }
 body.fb-full-width-light .site-header .nav-capsule {
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(245,241,252,.96));
  border-color:rgba(40,25,65,.12); box-shadow:0 20px 48px rgba(30,20,50,.16),inset 0 1px #fff;
 }
 body.fb-full-width-light .site-header .site-nav .menu a { color:#211b2b; background:rgba(60,35,90,.035); }
 body.fb-full-width-light .site-header .site-nav .menu a:hover,
 body.fb-full-width-light .site-header .site-nav .menu a:focus-visible,
 body.fb-full-width-light .site-header .site-nav .current-menu-item > a,
 body.fb-full-width-light .site-header .site-nav .menu a.is-active { background:rgba(155,66,255,.12); color:#6020a2; }
}

/* Preserve all menu levels configured in WordPress. */
.site-header .site-nav .sub-menu { list-style:none; margin:0; }
.site-header .site-nav .menu-item-has-children > a::after {
 content:"⌄"; position:absolute; right:12px; top:50%; left:auto; bottom:auto;
 display:block; width:auto; height:auto; margin:0; border:0; border-radius:0; background:none;
 opacity:1; transform:translateY(-50%); transition:none; line-height:1;
}
@media (min-width:1101px) {
 .site-header .site-nav li { position:relative; }
 .site-header .site-nav .sub-menu {
  display:none; position:absolute; top:100%; left:0; width:260px; z-index:110;
 }
 .site-header .site-nav li:hover > .sub-menu,
 .site-header .site-nav li:focus-within > .sub-menu { display:block; }
 .site-header .site-nav .sub-menu a { display:flex; padding:12px 16px; color:#fff; white-space:normal; }
 body.fb-full-width-light .site-header .site-nav .sub-menu { box-shadow:0 18px 38px rgba(30,20,50,.18),inset 0 1px #fff;
 }
 body.fb-full-width-light .site-header .site-nav .sub-menu a { color:#211b2b; }
 body.fb-full-width-light .site-header .site-nav .sub-menu a:hover,
 body.fb-full-width-light .site-header .site-nav .sub-menu a:focus-visible,
 body.fb-full-width-light .site-header .site-nav .sub-menu .current-menu-item > a { background:rgba(155,66,255,.12); color:#6020a2; }
}
@media (max-width:1100px) {
 .site-header .site-nav .sub-menu { display:block; }
 .site-header .site-nav .sub-menu li + li { margin-top:4px; }
 .site-header .site-nav .sub-menu a { min-height:44px; padding:10px 14px; font-size:.9375rem; font-weight:500; border-radius:14px; }
 body.fb-full-width-light .site-header .site-nav .sub-menu { border-color:rgba(96,32,162,.25); }
}

/* Static presentation: content is visible immediately, without entrance effects. */
html { scroll-behavior:auto!important; }
/* Context cards and Cortex manage their own motion and reduced-motion preference. */
body *:not(.fb-context, .fb-context *, .fb-header-surface, .fb-header-surface *, .cx-home, .cx-home *),
body *:not(.fb-context, .fb-context *, .fb-header-surface, .fb-header-surface *, .cx-home, .cx-home *)::before,
body *:not(.fb-context, .fb-context *, .fb-header-surface, .fb-header-surface *, .cx-home, .cx-home *)::after { animation:none!important; transition:none!important; }
.reveal-in { opacity:1!important; transform:none!important; translate:none!important; }
.site-header:has(.menu-toggle:hover),.site-header.menu-open,.menu-toggle:active,.site-logo:hover,.primary-button:hover,.secondary-button:hover,.content-card:hover { transform:none!important; }
.latest-note-media img,.latest-note:hover .latest-note-media img,
.apps-band .content-card figure img,.apps-band .content-card:hover figure img { transform:none!important; }

/* Desktop hero balances both columns within the available viewport. */
@media (min-width:1101px) {
 .home-main .hero {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,3vw,48px);
  min-height:clamp(440px,calc(100svh - 200px),640px);
  padding:0 clamp(32px,4vw,56px);
  align-items:center;
 }
 .home-main .hero-copy { padding-block:clamp(32px,5svh,56px); margin-inline:auto; }
 .home-main .hero h1 { font-size:clamp(2.75rem,min(4.5vw,7svh),5rem); }
 .home-main .hero-portrait {
  position:relative; right:auto; bottom:auto; grid-column:2; grid-row:1;
  width:88%; margin:0; align-self:end; justify-self:center;
  transform:translateX(clamp(8px,1.5vw,24px));
 }
 .home-main .hero-portrait img {
  display:block; width:100%; height:auto;
  max-height:clamp(350px,calc(85svh - 190px),520px);
  object-fit:contain; object-position:center bottom;
 }
}

/* Give article headings breathing room before their content. */
body.single-post .single-entry .entry-content h2 { margin-bottom:24px; }
body.single-post .single-entry .entry-content :is(h3,h4,h5,h6) { margin-bottom:20px; }

/* Optional review sections share one surface; missing sections leave no gaps. */
.single-entry.editorial-entry > .article-summary,
.single-entry.editorial-entry > .article-review {
 grid-column:1/-1; min-width:0; margin:8px 0 0;
 border:1px solid rgba(203,155,255,.24); border-radius:22px;
 background:radial-gradient(ellipse at top right,rgba(155,66,255,.12),transparent 65%),rgba(255,255,255,.035);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.single-entry.editorial-entry > .article-summary { padding:26px 28px; }
.editorial-entry > .article-summary li { font-weight:500; line-height:1.6; color:#d8cdeb; }
.editorial-entry > .article-summary li::before { width:5px; height:5px; top:.65em; background:#d9b5ff; box-shadow:none; }
.editorial-entry > .article-summary .eyebrow { margin:0 0 16px; }
@media(max-width:700px) {
 .single-entry.editorial-entry > .article-summary { padding:22px 20px; }
 .single-entry.editorial-entry > .article-layout { grid-row:auto; }
}
.article-review > .article-module {
 margin:0; padding:26px 28px; min-width:0; width:auto;
 border:0; border-radius:0; background:none; box-shadow:none;
}
.article-review > .article-module + .article-module { border-top:1px solid rgba(203,155,255,.16); }
.article-review .article-rating::after { display:none; }
.article-review .article-quote p { font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.45; font-weight:700; }
.article-review .article-quote p::before { content:'“'; color:#efff00; margin-right:.18em; }
.article-review .article-rating__score { min-width:0; padding-right:24px; gap:8px; }
.article-review .article-rating__score strong { flex:none; padding:.08em .08em .12em; line-height:1.15; letter-spacing:-.025em; }
.article-review .article-verdict__columns { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; margin-top:20px; }
.article-review .article-verdict__columns > div { background:rgba(0,0,0,.1); border-color:rgba(203,155,255,.13); border-radius:12px; }
.article-review .article-verdict__columns span { color:#d9b5ff; }
.article-review .article-verdict__badge { background:rgba(239,255,0,.1); color:#efff00; border:1px solid rgba(239,255,0,.22); }
.article-review .article-verdict__badge--no { background:rgba(255,255,255,.06); color:var(--ink); border-color:var(--line); }
@media(max-width:700px) {
 .article-review > .article-module { margin:0; padding:22px 20px; }
 .article-review .article-rating { grid-template-columns:auto minmax(0,1fr); gap:16px; }
 .article-review .article-rating__score { border:0; padding:0; }
 .article-review .article-rating__score strong { font-size:2.6rem; }
 .article-review .article-rating__copy p:last-child { font-size:.9rem; }
}
@media(max-width:400px) {
 .article-review .article-rating { grid-template-columns:1fr; }
}

/* Clear metadata, without splitting category names over the photograph. */
body .content-card figure + div:has(> .card-meta) { padding-top:32px; }
/* Anchor each card's text to its image, not to the bottom of the tallest card. */
.post-grid .content-card > a { grid-template-rows:auto 1fr; align-content:start; }
body .post-grid .content-card figure + div { align-self:stretch; margin-top:0; padding-top:24px; }
.post-grid .content-card h3 { line-height:1.08; min-height:3.24em; margin-top:0; margin-bottom:18px; }
.post-grid .content-card p:not(.card-meta) { margin-top:0; }
body .content-card .card-meta { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
body .content-card .card-meta .card-category { font-size:11px; font-weight:650; letter-spacing:.08em; color:#dbc2ff; overflow-wrap:normal; word-break:normal; }
body .content-card .card-meta .card-date { font-size:11px; font-weight:450; letter-spacing:.015em; text-transform:none; color:#ded9e6; overflow-wrap:normal; word-break:normal; }
/* Series use the same quiet navigation treatment as the article index. */
body .article-indexes .article-series { margin:0 0 28px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.article-indexes .article-series > summary { padding:8px 0 16px; cursor:pointer; font-size:.85rem; line-height:1.5; font-weight:650; color:var(--muted-strong); overflow-wrap:anywhere; }
.article-indexes .article-series > summary::marker { color:var(--accent); }
.article-indexes .article-series > ol { margin:0; padding:0; gap:0; list-style:none; }
.article-indexes .article-series li a { display:flex; align-items:center; gap:12px; padding:9px 12px; border:0; border-left:2px solid var(--line); border-radius:0; font-size:.85rem; line-height:1.5; font-weight:450; color:var(--muted-strong); overflow-wrap:anywhere; }
.article-indexes .article-series li a:hover { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--ink); }
.article-indexes .article-series li span { flex-shrink:0; color:var(--accent); font-size:.85rem; }
.article-indexes .article-series li .article-series__current { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; padding:10px 12px; border-left:2px solid var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--ink); line-height:1.5; }
.article-indexes .article-series li .article-series__title { max-width:100%; color:inherit; font-weight:600; overflow-wrap:anywhere; }
.article-indexes .article-series .article-series__status { color:var(--muted-strong); font-size:.72rem; font-weight:450; line-height:1.4; }
@media(max-width:700px) {
 body .explore-main--compact .archive-results { padding:24px 0 0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
 body .explore-main--compact .archive-results .section-heading { padding-inline:4px; }
 body .content-card .card-meta .card-date { font-size:12px; }
}
@media(max-width:1000px) {
 body .article-indexes .article-series { align-self:start; margin:0; padding:0; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.025); }
 .article-indexes .article-series > summary { padding:14px 16px; min-height:48px; }
 .article-indexes .article-series > ol { padding:0 12px 12px; }
 .article-indexes .article-series li a { min-height:44px; }
 body .article-indexes .article-index--categories { display:none; }
 body .article-indexes { gap:12px; margin-block:16px 24px; }
}

/* Cookie notice: the existing consent controls, in the site's glass material. */
body #cookie-law-info-bar {
 box-sizing:border-box!important; width:min(390px,calc(100vw - 32px))!important;
 left:auto!important; right:20px!important; bottom:20px!important; top:auto!important;
 padding:22px!important; border:1px solid #e0d1ff60!important; border-radius:24px!important;
 background:linear-gradient(135deg,#ffffff12,transparent 50%),rgba(27,23,40,.94)!important;
 color:#f5f0ff!important; font-family:inherit!important; font-size:14px!important; line-height:1.55!important; text-align:left!important;
 backdrop-filter:blur(24px) saturate(160%); -webkit-backdrop-filter:blur(24px) saturate(160%);
 box-shadow:inset 0 1px 1px #ffffff60,inset 0 -1px 1px #c2a0ed20,0 14px 44px #09071340!important;
}
body #cookie-law-info-bar a { font-family:inherit!important; font-size:13px!important; }
body #cookie-law-info-bar .cli-plugin-button,
body #cookie-law-info-bar #cookie_action_close_header {
 display:inline-flex; box-sizing:border-box; align-items:center; justify-content:center; min-height:32px;
 padding:6px 13px!important; margin:10px 8px 0 0!important; border-radius:999px!important; line-height:1.25!important;
 border:1px solid #e1c6ff60!important; background:linear-gradient(145deg,#a46bd9,#7843b6)!important;
 box-shadow:inset 0 1px 1px #ffffff55,0 4px 12px #0002!important; color:#fff!important;
 font-weight:650!important; text-decoration:none!important;
}
body #cookie-law-info-bar #CONSTANT_OPEN_URL { background:#ffffff0d!important; color:#eee4ff!important; border-color:#ffffff30!important; }
body #cookie-law-info-bar a:focus-visible { outline:2px solid #e1c6ff!important; outline-offset:3px; }
@media(max-width:1100px) {
 body #cookie-law-info-bar { right:16px!important; bottom:calc(100px + env(safe-area-inset-bottom))!important; padding:18px!important; font-size:13px!important; }
 body.fb-no-dock #cookie-law-info-bar { bottom:calc(16px + env(safe-area-inset-bottom))!important; }
}
@media(prefers-reduced-transparency:reduce) {
 body #cookie-law-info-bar { background:#1b1728!important; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Nested desktop glass uses one inset and matching corner geometry. */
@media(min-width:1101px) {
 body .site-header .nav-capsule {
  --nav-glass-inset:8px;
  box-sizing:border-box; min-height:58px; padding:var(--nav-glass-inset);
  border-radius:29px;
 }
 body .site-header .site-nav .menu { margin:0; padding:0; align-items:center; }
 body .site-header .site-nav .menu > li > a {
  box-sizing:border-box; min-height:40px; border-radius:20px;
 }
 @supports(corner-shape:squircle) {
  body .site-header .nav-capsule,
  body .site-header .site-nav .menu > li > a { corner-shape:round; }
  body .site-header .nav-capsule::before,
  body .site-header .nav-capsule::after { border-radius:inherit; corner-shape:inherit; }
 }
}

/* Compact category navigation belongs to the home blog section. */
.home-main .blog-topics{margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.home-main .blog-topics h3{margin:0 0 12px;font-size:.875rem;font-weight:500;line-height:1.4;color:var(--muted)}
.home-main .blog-topics-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.home-main .blog-topics-list li{margin:0;padding:0}
.home-main .blog-topics-list a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid #c9a3fa33;border-radius:999px;background:#c9a3fa0b;color:var(--ink);font-size:.875rem;line-height:1.35;text-decoration:none;transition:background-color .2s,border-color .2s}
.home-main .blog-topics-list small{color:#cba6f5;font-size:.75rem;font-variant-numeric:tabular-nums}
.home-main .blog-topics-list a:hover{background:#c9a3fa20;border-color:#c9a3fa77}
.home-main .blog-topics-list a:focus-visible{outline:2px solid #d5b4ff;outline-offset:3px}
@media(max-width:700px){.home-main .blog-topics{margin-bottom:22px;padding-bottom:20px}.home-main .blog-topics-list{gap:6px}.home-main .blog-topics-list a{padding:8px 12px;font-size:.8125rem}}

/* Keep the featured app proportional to the other home previews. */
body .home-main .feature-banner.app-feature{grid-template-columns:minmax(0,1fr) 220px;gap:24px;padding:24px 32px;min-height:0}
body .home-main .app-feature h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.15;margin:8px 0 12px}
body .home-main .app-feature__copy>p:not(.eyebrow){margin:0;max-width:620px;font-size:1rem;line-height:1.5}
body .home-main .app-feature .secondary-button{min-height:44px;margin-top:16px;padding:10px 18px;font-size:.875rem}
body .home-main .app-feature__visual img{width:100%;max-width:220px;height:220px;object-fit:contain}
@media(max-width:700px){
 body .home-main .feature-banner.app-feature{grid-template-columns:minmax(0,1fr) 100px;gap:12px 10px;padding:22px 24px}
 body .home-main .app-feature__copy{display:contents}
 body .home-main .app-feature__copy>.eyebrow{grid-column:1;grid-row:1;margin:0;align-self:end}
 body .home-main .app-feature h2{grid-column:1;grid-row:2;margin:0;align-self:start}
 body .home-main .app-feature__visual{grid-column:2;grid-row:1 / 3}
 body .home-main .app-feature__visual img{max-width:100px;height:110px}
 body .home-main .app-feature__copy>p:not(.eyebrow){grid-column:1 / -1;font-size:.9375rem}
 body .home-main .app-feature .secondary-button{grid-column:1 / -1;justify-self:start;margin-top:2px}
}

/* ==== Navigation, search and reading experience (was experience.css) ==== */
/* Native theme interactions, shared across search, media and article navigation. */
.fb-modal-open { overflow:hidden; }
.fb-search-trigger { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border-radius:99px; color:inherit; text-decoration:none; min-height:44px; }
.fb-search-trigger--yellow { padding-inline:20px; color:#111018; background:#efff00; box-shadow:0 8px 24px #efff0033,inset 0 1px 0 #ffffff80; }
.fb-search-trigger--yellow:hover { background:#f5ff4a!important; color:#111018; }
.header-nav-shell { display:flex; align-items:center; gap:8px; }
.fb-search-trigger span { font-size:.8rem; }
.fb-dialog { box-sizing:border-box; color:#f4efff; background:linear-gradient(130deg,#ffffff12,transparent 48%,#bb8cff08),rgba(25,22,36,.82); border:1px solid #ffffff28; border-radius:32px; padding:28px; width:min(680px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overflow:auto; box-shadow:inset 0 1px 0 #ffffff26,inset 0 -1px 0 #ffffff08,0 24px 80px #0006; backdrop-filter:blur(32px) saturate(145%); -webkit-backdrop-filter:blur(32px) saturate(145%); }
.fb-dialog::backdrop { background:#08061288; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.fb-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.fb-dialog-top h2 { margin:0; font-size:clamp(1.2rem,3vw,1.55rem); font-weight:550; letter-spacing:-.02em; }
.fb-dialog button, .fb-viewer-actions a { min-height:44px; padding:10px 20px; border:1px solid #ffffff30; border-radius:999px; color:#f4efff; background:linear-gradient(145deg,#ffffff12,#ffffff04); box-shadow:inset 0 1px 0 #ffffff1a; font:inherit; font-weight:500; cursor:pointer; text-decoration:none; }
.fb-dialog-top button { flex:none; width:44px; height:44px; padding:0; }
.fb-search label { display:block; font-size:.9rem; color:#cfbbdf; margin-bottom:8px; }
.fb-search-field { display:flex; align-items:center; gap:16px; }
.fb-search-field button { flex:none; }
.fb-search input { width:100%; min-width:0; padding:13px 18px; border-radius:999px; border:1px solid #ffffff24; background:#08061235; color:#fff; font:inherit; box-shadow:inset 0 1px 3px #0002; }
.fb-search input:focus-visible { outline:1px solid #d9b5ff!important; outline-offset:3px; }
.fb-search-status { color:#cbbad8; font-size:.85rem; margin:16px 0; }
.fb-search-results { display:grid; gap:8px; }
.fb-search-results a { display:flex; align-items:center; gap:14px; padding:12px; border:1px solid transparent; border-radius:22px; text-decoration:none; color:#f4efff; background:#ffffff03; }
.fb-search-results img { flex:none; width:48px; height:48px; object-fit:cover; border-radius:14px; }
.fb-search-results span { min-width:0; }
.fb-search-results small { display:block; color:#d5aaff; margin-bottom:4px; }
.fb-search-results strong { font-size:.95rem; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.fb-viewer { width:min(1120px,calc(100% - 24px)); }
.fb-viewer figure { margin:0; }
.fb-viewer figure img { display:block; width:100%; height:min(65dvh,750px); object-fit:contain; }
.fb-viewer figcaption { text-align:center; margin:16px 0; color:#d8cdeb; }
.fb-viewer-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.fb-viewer button:disabled { opacity:.35; cursor:default; }
.fb-zoomable { cursor:zoom-in; }
.fb-next-read { margin-top:24px; border:1px solid #ffffff24; border-radius:28px; background:linear-gradient(125deg,#ffffff0d,#9b42ff08); box-shadow:inset 0 1px 0 #ffffff14; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.fb-next-read > a { display:flex; align-items:center; gap:28px; padding:28px; color:inherit; text-decoration:none; }
.fb-next-read img { width:180px; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }
.fb-next-read h2 { font-size:clamp(1.3rem,2.6vw,1.85rem); font-weight:550; line-height:1.3; margin:10px 0 16px; }
.fb-next-read .eyebrow { margin:0 0 6px; }
.fb-next-reason { margin:0; color:#b9aac9; font-size:.86rem; }
.fb-next-read span { color:#d9b5ff; font-size:.9rem; }
.article-index--toc a[aria-current="location"] { padding-left:12px; border-radius:14px; }
.article-index--toc summary { min-height:44px; cursor:pointer; }
.series-archive { max-width:1180px; margin:auto; padding:80px 24px; }.series-archive .page-heading { max-width:760px; margin-bottom:48px; }.series-archive h1 { font-size:clamp(2.8rem,7vw,6rem); line-height:.95; letter-spacing:-.06em; margin:12px 0 20px; }.series-archive h1 em { color:#c68cff; font-style:normal; }.series-archive .page-heading>p:last-child { color:#bfb1cf; font-size:1.15rem; }.series-archive__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.series-archive__card { padding:26px; border:1px solid #ffffff20; border-radius:28px; background:linear-gradient(135deg,#ffffff0b,#a967e908),#15132288; box-shadow:inset 0 1px 0 #ffffff16; backdrop-filter:blur(18px); }.series-archive__card h2 { margin:10px 0 20px; font-size:1.5rem; }.series-archive__card ol { list-style:none; padding:0; margin:0; display:grid; gap:8px; }.series-archive__card li a { display:flex; justify-content:space-between; padding:12px 14px; border:1px solid #ffffff16; border-radius:16px; color:inherit; text-decoration:none; }.series-archive__card li span { color:#d9b5ff; }
@media(max-width:700px) { .series-archive__grid { grid-template-columns:1fr; } }
.product-facts,.article-series { border:1px solid #ffffff20; border-radius:26px; padding:22px; background:linear-gradient(135deg,#ffffff0b,#a967e908),#15132288; box-shadow:inset 0 1px 0 #ffffff16; }
.product-facts > div { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.product-facts span { display:grid; gap:6px; padding:14px 16px; border:1px solid #ffffff18; border-radius:18px; background:#ffffff05; }.product-facts small { color:#bba8cb; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; }.product-facts strong { font-weight:550; }.article-series { margin-top:16px; }.article-series h2 { margin:8px 0 12px; font-size:1.1rem; line-height:1.35; font-weight:600; }.article-series ol { margin:0; padding:0; list-style:none; display:grid; gap:8px; }.article-series li a { display:flex; justify-content:space-between; padding:12px 14px; border:1px solid #ffffff16; border-radius:16px; color:inherit; text-decoration:none; }.article-series li span { color:#d9b5ff; }
@media(max-width:600px) { .product-facts > div { grid-template-columns:1fr; } }
.uses-band .section-heading__text { max-width:620px; margin:.8rem 0 0; color:#bfb1cf; }
.uses-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.use-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; color:inherit; text-decoration:none; border:1px solid #ffffff20; border-radius:26px; background:linear-gradient(140deg,#ffffff0d,#a967e90a),#15132288; box-shadow:inset 0 1px 0 #ffffff18; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.use-card img { display:block; width:100%; height:156px; object-fit:cover; opacity:.88; }
.use-card__body { padding:20px; }
.use-card__body .eyebrow { margin:0 0 8px; }
.use-card h3 { margin:0 0 8px; font-size:1.25rem; line-height:1.15; letter-spacing:-.025em; }
.use-card p:not(.eyebrow) { margin:0 0 18px; color:#c6b9d4; font-size:.92rem; line-height:1.5; }
.use-card span { color:#d9b5ff; font-size:.85rem; }
@media(hover:hover) { .use-card { transition:transform .2s,border-color .2s,box-shadow .2s; } .use-card:hover { transform:translateY(-3px); border-color:#d9b5ff68; box-shadow:inset 0 1px 0 #ffffff24,0 16px 40px #0003; } }
@media(max-width:800px) { .uses-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .uses-grid { grid-template-columns:1fr; } .use-card img { height:190px; } }
:where(a,button,input,summary,[tabindex]):focus-visible { outline:2px solid #d9b5ff!important; outline-offset:4px; }
@media(hover:hover) {
 .fb-search-trigger:hover,.fb-search-results a:hover,.fb-dialog button:not(:disabled):hover { background:#b748ff24; }
 .fb-next-read:hover { border-color:#d9b5ff80; }
 .content-card:hover { border-color:#d9b5ff80; }
}
@media(prefers-reduced-motion:no-preference) {
 .fb-search-trigger,.fb-search-results a,.fb-dialog button,.fb-next-read,.content-card { transition:background-color .18s,border-color .18s,box-shadow .18s; }
 .article-index--toc a { transition:background-color .18s,color .18s; }
}
@media(max-width:1100px) { .header-nav-shell { flex-direction:column; align-items:stretch; } .fb-search-trigger { justify-content:center; border-top:1px solid #ffffff15; } }
@media(max-width:600px) {
 .fb-dialog { padding:18px; } .fb-next-read > a { padding:22px; flex-direction:column; align-items:stretch; gap:18px; }
 .fb-next-read img { width:100%; max-height:200px; } .fb-viewer-actions { flex-wrap:wrap; }
 .fb-viewer-actions a { order:3; width:100%; text-align:center; }
}

/* Keep mobile search inside the collapsible navigation. */
.site-header .fb-search-trigger--mobile { display:none; }
@media (max-width:1100px) {
 .site-header .fb-search-trigger--desktop { display:none; }
 .site-header .fb-search-trigger--mobile { display:flex; width:100%; }
}

/* One featured recommendation, followed by lighter alternatives. */
.fb-related-compact { padding:0 8px; background:none; border:0; box-shadow:none; }
.fb-related-compact .section-heading { margin-bottom:16px; }
.fb-related-compact .section-heading h2 { font-size:1.35rem; }
.fb-related-compact .eyebrow { display:none; }
.fb-related-list { display:grid; }
.fb-related-list > a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid #ffffff1a; color:var(--ink); text-decoration:none; }
.fb-related-list > a > span { flex-shrink:0; color:var(--muted); font-size:.82rem; }
.fb-related-list > a:hover strong { color:#d7b2ff; }
.fb-resume { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:16px 40px; padding:16px 20px; border:1px solid #cda7ff38; border-radius:18px; background:#ad70ef12; }
/* The reading notice spans both editorial columns instead of occupying the sidebar. */
.single-entry.editorial-entry > .fb-resume { grid-column:1/-1; min-width:0; margin:0; }
.fb-resume > span { flex:1 1 200px; color:var(--muted-strong); font-size:.9rem; }
.fb-resume button { min-height:44px; padding:10px 14px; border:1px solid #cda7ff40; border-radius:999px; background:#b77bec24; color:var(--ink); font:inherit; font-size:.85rem; cursor:pointer; }
.fb-resume .fb-resume-dismiss { border-color:transparent; background:transparent; color:var(--muted); }
.single-entry .entry-content { scroll-margin-top:130px; }
@media(max-width:700px) {
 .fb-resume { margin:12px 20px; padding:14px; }
 .fb-related-list > a { align-items:flex-start; flex-direction:column; gap:6px; }
}

/* Reading aids stay inside the text column without interrupting the article grid. */
.single-entry.editorial-entry .article-layout > .article-reading { grid-column:2; grid-row:1; min-width:0; }
.article-reading > .entry-content { width:100%; max-width:none; margin:0; }
.editorial-entry .article-reading > .article-summary {
 margin:0 0 24px; padding:2px 0 2px 18px;
 border:0; border-left:2px solid #cda7ff70; border-radius:0;
 background:none; box-shadow:none;
}
.article-reading > .article-summary .eyebrow { margin:0 0 10px; font-size:.68rem; }
.article-reading > .article-summary ul { gap:6px; }
.article-reading > .article-summary li { padding-left:14px; font-size:.95rem; line-height:1.5; font-weight:500; }
.article-reading > .article-summary li::before { width:4px; height:4px; top:.6em; background:#cda7ff; box-shadow:none; }
.article-reading > .fb-resume {
 margin:-20px 0 20px; padding:0 0 12px; gap:4px 12px;
 border:0; border-bottom:1px solid #cda7ff26; border-radius:0; background:none;
}
.article-reading > .fb-resume > span { flex:0 1 auto; font-size:.8rem; }
.article-reading > .fb-resume button { padding:8px 10px; font-size:.8rem; }
@media(max-width:1000px) {
 .single-entry.editorial-entry .article-layout > .article-reading { grid-column:1; grid-row:2; }
}

/* Leave 12px above the notice after each responsive grid gap. */
@media(max-width:1000px) {
 .article-reading > .fb-resume { margin-top:-16px; }
}
@media(max-width:700px) {
 .article-reading > .fb-resume { margin-top:-12px; }
}

/* ==== Mobile typography (was mobile-type.css) ==== */
/* One mobile scale across editorial pages and custom project landing pages.
 * Keep desktop typography and the compact header/dock independent. */
@media (max-width:700px) {
 :root {
  --mobile-title:clamp(1.875rem,7.7vw,2rem);
  --mobile-section:1.5rem;
  --mobile-card:1.25rem;
  --mobile-body:1rem;
  --mobile-small:.875rem;
  --mobile-caption:.8125rem;
 }
 body { font-size:var(--mobile-body); }
 body .site-main h1,
 body .site-main :is(.hero,.archive-header,.page-hero,.single-hero,.about-hero) h1 {
  font-size:var(--mobile-title); line-height:1.15; letter-spacing:-.035em;
 }
 body .site-main h2,
 body .site-main :is(.section-heading,.entry-content,.latest-note,.app-feature,.home-cta) h2 {
  font-size:var(--mobile-section); line-height:1.25; letter-spacing:-.025em;
 }
 body .site-main h3,
 body .site-main :is(.entry-content,.content-card,.app-card,.use-card) h3 {
  font-size:var(--mobile-card); line-height:1.3; letter-spacing:-.015em;
 }
 body .site-main :is(h4,h5,h6) { font-size:1.125rem; line-height:1.4; }
 body .site-main :is(.entry-content,.about-lead,.app-card__description),
 body .site-main p:not(.eyebrow):not(.card-meta),
 body .site-main :is(.hero-copy,.single-hero__copy,.use-card,.article-rating__copy) p:not(.eyebrow) {
  font-size:var(--mobile-body); line-height:1.65;
 }
 body .site-main .entry-content { line-height:1.75; }
 body .site-main .entry-content :is(p,li) { line-height:1.75; }
 body .site-main :is(blockquote,.article-quote) p {
  font-size:1.125rem; line-height:1.55;
 }
 body .site-main .article-summary li { font-size:var(--mobile-body); line-height:1.6; }
 body .site-main :is(.eyebrow,.card-meta,.card-meta .card-category,.card-meta .card-date,.recent-row__label,.recent-row__meta,figcaption,.article-facts span) {
  font-size:var(--mobile-caption); line-height:1.5;
 }
 body .site-main .eyebrow { letter-spacing:.08em; }
 body .site-main :is(.recent-row__title,.topic-card,.explore-topic-name) { font-size:var(--mobile-body); line-height:1.4; }
 body .site-main :is(.button-link,.primary-button,.secondary-button,.text-link,.app-card__link,.section-heading > a,.blog-topic-chips a,.blog-topics-mobile summary),
 body .site-main .hero-actions a {
  font-size:var(--mobile-small); line-height:1.4;
 }
 body .site-main .article-indexes :is(summary,li a),
 body .site-main .legal-sidebar :is(h2,a),
 body .site-main .fb-resume :is(span,button) {
  font-size:var(--mobile-small); line-height:1.5;
 }
 body .site-footer :is(p,.footer-menu a,.footer-bottom),
 body .site-footer .footer-columns h3 { font-size:var(--mobile-small); line-height:1.6; }
 body .site-main .social-profile__text strong { font-size:var(--mobile-caption); }
}

/* ==== Liquid glass surfaces (was liquid-glass.css) ==== */
/* Shared glass surfaces and controls. Home sections remain in normal flow. */
body:not(.fb-full-width-light) .site-header .nav-capsule {
 background:linear-gradient(125deg,#ffffff20, #ffffff04 42%,#ba8bff18),rgba(22,18,34,.66);
 border-color:#e2caff42;
 box-shadow:inset 0 1px 1px #ffffff66,inset 0 -1px 1px #b996ff26,0 12px 36px #0004;
 backdrop-filter:blur(28px) saturate(165%);
 -webkit-backdrop-filter:blur(28px) saturate(165%);
}
.home-main { isolation:isolate; }
.home-main > section { scroll-margin-top:128px; }
.home-main > :is(.section-band,.apps-band,.uses-band,.app-feature), .home-main .latest-note {
 position:relative; border:1px solid #cfb5ff38; border-radius:var(--card-radius,30px);
}
.home-main > .uses-band { padding:clamp(24px,4vw,56px); }
.home-main .feature-banner.app-feature {
 background:radial-gradient(ellipse at 78% 50%,#9062d52b,transparent 55%),linear-gradient(135deg,#ffffff09,transparent 45%),#15111f;
}
.home-main .app-feature__visual img { aspect-ratio:1; filter:none; }
.home-main :is(.secondary-button,.topic-card),
.home-main .social-links a {
 background:linear-gradient(135deg,#ffffff18,#ffffff04 48%,#b783ef15),#251b374d;
 border:1px solid #dac2ff40;
 box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #ffffff0d,0 8px 24px #0002;
 backdrop-filter:blur(14px) saturate(150%); -webkit-backdrop-filter:blur(14px) saturate(150%);
}
.home-main .primary-button { background:linear-gradient(145deg,#c889ff,#9137ed 65%,#7036d9); border:1px solid #e6c7ff66; box-shadow:inset 0 1px 0 #fff6,0 8px 28px #983eef40; }
.home-main :is(.content-card,.app-card,.use-card) { border-color:#ceb4ed30; box-shadow:inset 0 1px 0 #fff2,0 12px 28px #0002; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .home-main :is(.primary-button,.secondary-button,.topic-card,.content-card,.use-card) { transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease!important; }
 .home-main :is(.primary-button,.secondary-button,.topic-card):hover { transform:translateY(-3px)!important; border-color:#ead8ff80; box-shadow:inset 0 1px 0 #ffffff70,0 10px 32px #ae6af526; }
 .home-main :is(.content-card,.use-card):hover { transform:translateY(-4px)!important; border-color:#dab6ff75; }
 .home-main :is(.primary-button,.secondary-button,.topic-card):active { transform:translateY(0) scale(.98)!important; }
}
@media(max-width:1100px) {
 .home-main > section { scroll-margin-top:110px; }
}
@media(prefers-reduced-transparency:reduce) {
 body:not(.fb-full-width-light) .site-header .nav-capsule,.home-main :is(.secondary-button,.topic-card) { background:#21192f; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Quieter editorial scale for archive and utility page headings. */
.archive-header h1, .page-hero h1 { font-size:clamp(2.25rem,4vw,3.7rem); line-height:1.04; letter-spacing:-.055em; }
.archive-header { padding-block:clamp(34px,5vw,56px); }

/* 404 gets its own small, luminous glass instrument panel. */
@media(max-width:1100px) {
 body:not(.fb-full-width-light) .site-header .nav-capsule { background:linear-gradient(140deg,#ffffff10,transparent 60%),rgba(25,20,38,.97); }
}

/* Tinted lemon glass: translucent body, bright lip and soft internal reflections. */
body .site-header .fb-search-trigger--yellow {
 position:relative; isolation:isolate; overflow:hidden;
 backdrop-filter:blur(22px) saturate(165%); -webkit-backdrop-filter:blur(22px) saturate(165%);
 text-shadow:0 1px 0 #ffffff40;
}
body .site-header .fb-search-trigger--yellow:hover {
 color:#202400; border-color:#ffffd1;
}

/* One typography system for every yellow glass action. */
body .site-header .fb-search-trigger--yellow,
body .site-header .fb-search-trigger--yellow span {
 font-family:inherit; font-size:.92rem; font-weight:700; line-height:1.1; letter-spacing:-.012em;
}
body .site-header .fb-search-trigger--yellow span { font-size:inherit; }
body:not(.fb-full-width-light) :is(.secondary-button,.social-profile,.pagination .page-numbers,.search-submit) {
 background:radial-gradient(ellipse at 20% 0%,#ffffff20,transparent 65%),linear-gradient(160deg,#b897e923,#ffffff04 55%,#b184ed1c),rgba(30,24,43,.65);
 border:1px solid #e1c9ff4d; color:#f4eaff;
 box-shadow:inset 0 1px 1px #fff6,inset 0 -1px 1px #c7a3ff30,0 10px 25px #0003;
 backdrop-filter:blur(18px) saturate(155%); -webkit-backdrop-filter:blur(18px) saturate(155%);
}
body:not(.fb-full-width-light) :is(.content-card,.app-card,.use-card,.explore-topic,.series-archive__card) {
 background:radial-gradient(ellipse at 0% 0%,#ddd0ff14,transparent 60%),linear-gradient(140deg,#ffffff09,#ae88ec0b),rgba(21,18,31,.72);
 border:1px solid #e1c9ff38;
 box-shadow:inset 0 1px 1px #fff4,inset 0 -1px 1px #c7a3ff16,0 14px 36px #0003;
}
.home-main > :is(.section-band,.apps-band,.uses-band,.app-feature), .home-main .latest-note {
 background:radial-gradient(ellipse at 90% 0%,#aa72ef24,transparent 60%),linear-gradient(140deg,#ffffff0d,#ffffff02 50%,#b88af20a),rgba(20,16,30,.78);
 border-color:#e1c9ff40;
 box-shadow:inset 0 1px 1px #ffffff4d,inset 0 -1px 1px #c9a4ff1f,0 20px 60px #0003;
 backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%);
}
body .social-profile__symbol { background:transparent; border:0; box-shadow:none; }
@media(prefers-reduced-motion:no-preference) {
 body :is(.fb-search-trigger--yellow,.footer-invitation .button-link,.social-profile,.search-submit,.explore-topic) { transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important; }
}
@media(prefers-reduced-transparency:reduce) {
 body:not(.fb-full-width-light) :is(.secondary-button,.social-profile,.pagination .page-numbers,.search-submit),.home-main > :is(.section-band,.apps-band,.uses-band,.app-feature), .home-main .latest-note { background:#21192f; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* A glass selection lens, with the submenu chevron kept intact. */
.site-header .site-nav .menu li:not(.menu-item-has-children) > a::after { content:none; }
.site-header .site-nav .menu a { text-decoration:none; }
.site-header .site-nav .menu a:hover {
 background:linear-gradient(145deg,#ffffff16,#c5a3ff0c);
 border-color:#e4d4ff24; box-shadow:inset 0 1px 0 #ffffff1f;
}
.site-header .site-nav .menu :is(.current-menu-item,.current-menu-ancestor) > a,
.site-header .site-nav .menu a:is(.is-active,[aria-current="page"]) {
 color:#fff; border:1px solid #e2ceff66;
 background:radial-gradient(ellipse at 25% 0%,#ffffff38,transparent 70%),linear-gradient(150deg,#d9bbff2e,#c29afa12 55%,#d9bbff24);
 box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #cbb0f538,0 3px 12px #0002;
 text-shadow:0 1px 4px #21122d66;
}
@media(min-width:1101px) {
 .site-header .site-nav .menu > li > a { padding-inline:16px; }
 .site-header .site-nav .menu > .menu-item-has-children > a { padding-right:30px; }
}
body.fb-full-width-light .site-header .site-nav .menu :is(.current-menu-item,.current-menu-ancestor) > a,
body.fb-full-width-light .site-header .site-nav .menu a:is(.is-active,[aria-current="page"]) {
 color:#4a1d78; background:linear-gradient(145deg,#ffffffb3,#c8a3fa4d); border-color:#7f4aaf4d;
 box-shadow:inset 0 1px 1px #fff,0 3px 12px #3b1a5714; text-shadow:none;
}
@media(prefers-reduced-motion:no-preference) {
 .site-header .site-nav .menu a { transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease!important; }
}
/* Broad pools of color belong to the page and pass beneath the fixed glass header. */
body:not(.fb-full-width-light) {
 background:
  radial-gradient(ellipse 55rem 40rem at 90% 5%,#8437dd40,transparent 75%),
  radial-gradient(ellipse 44rem 36rem at 0% 26%,#375bcc30,transparent 75%),
  radial-gradient(ellipse 48rem 38rem at 95% 48%,#a53fa52e,transparent 75%),
  radial-gradient(ellipse 42rem 36rem at 5% 70%,#3558b830,transparent 75%),
  radial-gradient(ellipse 48rem 34rem at 85% 90%,#8b43cc33,transparent 75%),var(--bg);
 background-repeat:no-repeat;
}

/* Reading index uses the same active block as the category index. */
.article-index--toc li a,.article-indexes .article-index--toc li a { border-radius:0; margin:0; padding:12px 16px!important; transition:background .2s ease,border-color .2s ease,color .2s ease!important; }
.article-index--toc a:hover { background:rgba(183,72,255,.08)!important; color:#fff!important; }
.article-index--toc a[aria-current="location"] { position:relative; border-left:4px solid #b748ff!important; background:linear-gradient(90deg,rgba(183,72,255,.22),rgba(183,72,255,.10) 70%,transparent)!important; color:#fff!important; font-weight:650; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.article-index--toc a[aria-current="location"]::after { content:"→"; position:absolute; right:16px; top:50%; color:#fff; font-size:1.25rem; font-weight:700; transform:translateY(-50%); }
.article-index--toc li.is-level-3 a { padding-left:28px!important; }
@media(max-width:700px) { .article-index--toc li a { border-radius:14px; } }
@media(prefers-reduced-transparency:reduce) {
 .site-header .site-nav .menu :is(.current-menu-item,.current-menu-ancestor) > a,
 .site-header .site-nav .menu a:is(.is-active,[aria-current="page"]) { background:#49335d; }
}

/* Fixed ambient light field: translucent surfaces travel across its colors. */
@media(min-width:1101px) {
 body:not(.fb-full-width-light) {
  background:
   radial-gradient(ellipse 55vw 68vh at 100% 0%,rgba(130,62,219,.32),transparent 74%),
   radial-gradient(ellipse 48vw 62vh at -8% 58%,rgba(49,96,208,.25),transparent 76%),
   radial-gradient(ellipse 48vw 54vh at 82% 110%,rgba(184,53,140,.23),transparent 75%),
   radial-gradient(ellipse 30vw 36vh at 45% 105%,rgba(83,57,180,.12),transparent 76%),var(--bg);
  background-attachment:fixed;
  background-repeat:no-repeat;
 }
}
@media(prefers-reduced-transparency:reduce),print {
 body:not(.fb-full-width-light) { background:var(--bg); background-attachment:scroll; }
}

/* Blend the ambient canvas into the footer instead of cutting it off. */
body:not(.fb-full-width-light) .site-footer.footer-redesign {
 position:relative;
}
body:not(.fb-full-width-light) .site-footer.footer-redesign::before {
 content:""; position:absolute; inset:auto 0 100%; height:clamp(48px,7vw,80px);
 pointer-events:none;
 background:linear-gradient(to bottom,transparent,var(--footer-bg,#05070d));
}

/* A quiet cosmic detour, with clear ways back into the site. */
.lost-page { gap:20px; }
.lost-panel { display:grid; grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(24px,5vw,72px); padding:clamp(28px,5vw,64px); border:1px solid #ddc5ff38; border-radius:36px; overflow:hidden; background:radial-gradient(ellipse at 8% 40%,#9455ed30,transparent 55%),linear-gradient(135deg,#ffffff09,#ffffff02),#15102099; box-shadow:inset 0 1px 1px #fff3,0 24px 70px #0003; }
.lost-visual { position:relative; display:grid; place-items:center; aspect-ratio:1; isolation:isolate; }
.lost-visual::before { content:""; position:absolute; inset:12%; border-radius:50%; background:radial-gradient(circle at 25% 15%,#ffffff40,transparent 50%),linear-gradient(140deg,#ac7def30,#17102070); border:1px solid #ead3ff66; box-shadow:inset 0 2px 5px #fff4,inset -10px -12px 30px #ab64ec28,0 0 70px #a04de92b; backdrop-filter:blur(20px); }
.lost-code { position:relative; font-size:clamp(5rem,10vw,9rem); font-weight:750; letter-spacing:-.08em; padding-right:.08em; color:#f3eaff; text-shadow:0 4px 30px #c495ff44; }
.lost-ring { position:absolute; inset:26% -2%; border:1px solid #d8b7ff80; border-radius:50%; transform:rotate(-30deg); box-shadow:0 0 18px #ad65e926; }
.lost-satellite { position:absolute; width:15px; height:15px; right:5%; top:26%; border-radius:50%; background:#efff91; box-shadow:0 0 24px #efff0080; }
.lost-copy h1 { margin:10px 0 18px; font-size:clamp(2.5rem,5vw,4.6rem); line-height:1.02; letter-spacing:-.055em; }
.lost-copy > p:not(.eyebrow) { max-width:480px; color:var(--muted-strong); font-size:1.05rem; line-height:1.65; }
.lost-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.lost-actions a { min-height:48px; padding:13px 20px; }
.lost-search { margin-top:28px; padding-top:22px; border-top:1px solid #ffffff16; }
.lost-search > p { margin:0 0 12px; color:var(--muted); font-size:.9rem; }
.lost-search .search-form { margin:0; }
.lost-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.lost-shortcuts > a { padding:22px; border:1px solid #ffffff18; border-radius:22px; background:#ffffff05; text-decoration:none; }
.lost-shortcuts > a > span { display:block; margin-bottom:12px; font-size:.7rem; letter-spacing:.12em; color:#cba8f5; }
.lost-shortcuts strong { display:flex; justify-content:space-between; gap:12px; color:var(--ink); font-size:1rem; line-height:1.4; }
.lost-shortcuts a:hover { background:#bc81fa12; border-color:#d3a7ff60; }
@media(max-width:700px) {
 .lost-panel { grid-template-columns:1fr; gap:4px; padding:22px; border-radius:28px; }
 .lost-visual { width:180px; margin:0 auto; }
 .lost-code { font-size:5rem; }
 .lost-copy h1 { font-size:2.7rem; }
 .lost-actions { gap:8px; }
 .lost-actions a { flex:1 1 auto; justify-content:center; font-size:.9rem; padding:12px; }
 .lost-shortcuts { grid-template-columns:1fr; gap:10px; }
 .lost-shortcuts > a { padding:18px; }
 .lost-search .search-form { flex-direction:row; gap:8px; }
 .lost-search .search-form label { min-width:0; flex:1; }
 .lost-search .search-field { width:100%; min-width:0; padding:12px; }
 .lost-search .search-submit { padding:12px; }
}

/* 0.7.74: restrained glass finish from the premium search, in signature lime.
   Existing collapse/expand and travelling reflection animations stay intact. */
body .site-header .fb-search-trigger--yellow {
 border:1px solid #faffb3;
 background:linear-gradient(145deg,#ffffff50,#ffffff08 52%),linear-gradient(165deg,#f0ff63,#dced16);
 box-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #a8b91980,0 5px 16px #ddef0033;
 color:#202400;
}
body .site-header .fb-search-trigger--yellow:hover {
 background:radial-gradient(ellipse at 65% 0%,#ffffff70,transparent 65%),linear-gradient(165deg,#f5ff82,#e6f72b)!important;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #b5c52280,0 8px 24px #ddef004d;
}
body .site-header .fb-search-trigger--yellow:focus-visible {
 outline:2px solid #f3ff75; outline-offset:5px;
}
@media(prefers-reduced-transparency:reduce) {
 body .site-header .fb-search-trigger--yellow { background:#efff00; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Preserve the featured card inside the blog, with space around it. */
.home-main #articulos-recientes > .latest-note { margin-block:28px 32px; }

/* ==== Mobile glass header and dock (was mobile-glass.css) ==== */
/* Compact floating controls and a translucent navigation lens. */
.mobile-glass-dock { display:none; }
@media (max-width:1100px) {
 body .site-header, body.fb-full-width-light .site-header {
  min-height:52px; padding:0; margin-top:10px;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none; pointer-events:none;
 }
 body .site-header > * { pointer-events:auto; }
 body .site-header .brand-lockup { width:52px; }
 body .site-header .site-logo,
 .nav-ready body .site-header .menu-toggle {
  display:grid; place-items:center; width:52px; height:52px; min-width:52px; min-height:52px;
  padding:0; border-radius:50%; border:1px solid #ffffff38; color:#fff;
  background:radial-gradient(ellipse at 18% 0%,#ffffff40,transparent 55%),linear-gradient(140deg,#ffffff12,#ac7aef16),rgba(32,27,46,.42);
  box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 2px #c9a6ff44,0 6px 20px #0003;
  backdrop-filter:blur(18px) saturate(165%); -webkit-backdrop-filter:blur(18px) saturate(165%);
 }
 body .site-header .site-logo img { width:34px; height:34px; }
 body .site-header .menu-toggle > span:last-child {
  position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
 }
 body .site-header .menu-toggle-icon { width:20px; height:14px; }
 body .site-header .menu-toggle-icon::after { width:20px; top:5px; }
 body .site-header.menu-open .menu-toggle-icon::before,
 body .site-header.menu-open .menu-toggle-icon::after { width:20px; top:5px; }
 .nav-ready body .site-header .nav-capsule {
  top:calc(100% + 12px); padding:20px; border-radius:32px;
  max-height:calc(100dvh - var(--header-offset) - 164px);
  border:1px solid #e5cfff60;
  background:radial-gradient(ellipse at 100% 85%,#aa4ff54a,transparent 62%),radial-gradient(ellipse at 5% 0%,#ffffff24,transparent 50%),linear-gradient(145deg,#211c329c,#221531b8);
  box-shadow:inset 0 1px 1px #ffffff80,inset -1px -1px 2px #dba8ff66,0 24px 60px #0006;
  backdrop-filter:blur(28px) saturate(180%); -webkit-backdrop-filter:blur(28px) saturate(180%);
 }
 body .site-header .site-nav .menu { gap:6px; }
 body .site-header .site-nav .menu a {
  min-height:48px; padding:12px 16px; font-size:1rem; border-radius:18px; background:transparent;
 }
 body .site-header .site-nav .menu a:hover,
 body .site-header .site-nav .menu a[aria-current="page"] {
  background:linear-gradient(120deg,#ffffff24,#ffffff0a); box-shadow:inset 0 1px 0 #ffffff30;
 }
 body .site-header .fb-search-trigger--mobile { margin-top:16px; border-radius:18px; }
 body .site-main.home-main, body .site-main.archive-main, body .site-main.page-main, body .site-main.article-main { padding-top:16px; }
 body { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
 body.fb-no-dock { padding-bottom:env(safe-area-inset-bottom); }
 .mobile-glass-dock {
  position:fixed; z-index:99; bottom:calc(12px + env(safe-area-inset-bottom)); grid-template-columns:repeat(4,1fr); gap:3px; width:min(360px,calc(100% - 32px)); padding:6px;
  border:1px solid #ffffff40; border-radius:999px;
  background:radial-gradient(ellipse at 10% 0%,#ffffff30,transparent 60%),linear-gradient(140deg,#b39ada18,#ffffff08),rgba(25,22,33,.56);
  box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 1px #d2b5ff50,0 8px 30px #0005;
  backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%);
 }
 .mobile-glass-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:52px; border-radius:999px; color:#eee9f5; font-size:11px; font-weight:600; line-height:1.2; text-decoration:none; }
 .mobile-glass-dock a[aria-current="page"] { background:linear-gradient(145deg,#ffffff30,#bc86ff28); color:#fff; box-shadow:inset 0 1px 1px #ffffff40,0 2px 8px #0002; }
 .mobile-glass-dock a:focus-visible { outline:2px solid #e6baff; outline-offset:1px; }
 body:has(.site-header.menu-open) .mobile-glass-dock { visibility:hidden; }
 body.fb-full-width-light .site-header .site-logo img { filter:brightness(0) invert(1); }
}
@media (prefers-reduced-transparency:reduce) {
 body .mobile-glass-dock, .nav-ready body .site-header .nav-capsule { background:#241c33; backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media print { .mobile-glass-dock { display:none; } }
@media(max-width:1100px) {
 body:not(.fb-full-width-light) .site-header, body.fb-full-width-light .site-header {
  background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none;
 }
}

.mobile-glass-name,.mobile-dock-expand { display:none; }
@media(max-width:1100px) {
 /* Match the light-page selector above so its two-column rule cannot win. */
 body .site-header, body.fb-full-width-light .site-header { grid-template-columns:52px minmax(0,1fr) 52px; gap:10px; }
 .nav-ready body .site-header .menu-toggle { grid-column:3; }
 .mobile-glass-name {
  display:block; grid-column:2; grid-row:1; justify-self:center; max-width:100%;
  padding:10px 0; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; line-height:1.2;
  white-space:nowrap; color:#efe9ff;
  background:linear-gradient(180deg,#ffffff 15%,#eeeaf5 65%,#d7cee5 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:none; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  transition:opacity .24s ease,transform .3s ease,filter .3s ease;
 }
 .mobile-name-hidden .mobile-glass-name { opacity:0; transform:translateY(-6px) scale(.96); filter:blur(5px); pointer-events:none; }
 .mobile-glass-dock { left:max(16px,calc((100% - 360px)/2)); transform:none; }
 .mobile-glass-dock a[hidden] { display:none; }
 .mobile-glass-dock.is-collapsed { left:var(--page-gutter); width:52px; height:52px; padding:0; grid-template-columns:1fr; border-radius:50%; }
 .mobile-glass-dock.is-collapsed .mobile-dock-expand { display:flex; }
 .mobile-dock-expand { flex-direction:column; align-items:center; justify-content:center; gap:0; width:50px; height:50px; padding:6px; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
 .mobile-dock-expand svg { width:24px; height:24px; }
 .mobile-dock-expand > span { font-size:9px; letter-spacing:2px; line-height:10px; }
 .mobile-dock-expand:focus-visible { outline:2px solid #e6baff; outline-offset:3px; }
}

/* A continuous glass silhouette, with separate fades for the controls. */
@media(max-width:1100px) {
 .mobile-glass-name { font-size:clamp(1.12rem,5.65vw,1.65rem); font-weight:650; letter-spacing:-.04em; background-image:linear-gradient(115deg,#fff 12%,#f5f0ff 46%,#c9b8df 72%,#fff 96%); }
 body.fb-full-width-light .mobile-glass-name { color:#211a2c; background-image:linear-gradient(115deg,#17121f 12%,#43364f 52%,#62506f 74%,#211a2c 96%); }
 .mobile-glass-dock { display:block; height:66px; overflow:hidden; isolation:isolate; transition:left .48s cubic-bezier(.22,.85,.22,1),width .48s cubic-bezier(.22,.85,.22,1),height .48s cubic-bezier(.22,.85,.22,1),padding .48s ease,border-radius .48s ease; }
 .mobile-glass-dock::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg,transparent 10%,#ffffff20 35%,transparent 65%); opacity:.15; transition:opacity .4s ease; }
 .mobile-glass-dock.is-collapsed::after { opacity:.65; }
 .mobile-dock-items { position:absolute; left:6px; top:6px; width:calc(min(360px,100vw - 32px) - 14px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; opacity:1; transform:translateX(0) scale(1); transform-origin:24px center; filter:blur(0); transition:opacity .22s ease .12s,transform .45s cubic-bezier(.22,.85,.22,1),filter .22s ease; }
 .mobile-glass-dock.is-collapsed .mobile-dock-items { opacity:0; transform:translateX(-8px) scale(.8); filter:blur(4px); pointer-events:none; transition-delay:0s; }
 .mobile-glass-dock .mobile-dock-expand { position:absolute; left:0; top:0; display:flex; opacity:0; transform:scale(.7); pointer-events:none; transition:opacity .16s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
 .mobile-glass-dock.is-collapsed .mobile-dock-expand { opacity:1; transform:scale(1); pointer-events:auto; transition-delay:.18s; }
 body.fb-full-width-light .mobile-glass-dock { background:radial-gradient(ellipse at 10% 0%,#ffffffb3,transparent 60%),linear-gradient(140deg,#ddd0ed40,#ffffff50),rgba(245,242,249,.7); border-color:#ffffffbf; box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #87749830,0 8px 30px #271a3524; }
 body.fb-full-width-light .mobile-glass-dock a,body.fb-full-width-light .mobile-dock-expand { color:#30253d; }
 body.fb-full-width-light .mobile-glass-dock a[aria-current="page"] { color:#24182e; background:linear-gradient(145deg,#ffffffc0,#bca4d54d); }
}

.desktop-glass-toggle { display:none; }
@media(min-width:1101px) {
 body .site-header { pointer-events:none; }
 body .site-header > * { pointer-events:auto; }
 body .site-header .brand-lockup { width:64px; min-width:64px; }
 body .site-header .site-logo { transition:opacity .2s ease,transform .45s cubic-bezier(.22,.8,.2,1); }
 body .site-header .nav-capsule { transform-origin:left center; transition:opacity .2s ease,transform .48s cubic-bezier(.22,.8,.2,1),filter .25s ease,visibility 0s; }
 body .site-header.desktop-collapsed .nav-capsule { opacity:0; transform:translateX(-48px) scale(.82,.7); filter:blur(5px); visibility:hidden; pointer-events:none; transition:opacity .22s ease,transform .48s cubic-bezier(.22,.8,.2,1),filter .25s ease,visibility 0s .48s; }
 body .site-header .desktop-glass-toggle {
  position:absolute; inset:0; display:grid; place-items:center; width:64px; height:64px; padding:12px; border-radius:50%;
  color:#fff; border:1px solid #e8d9ff50;
  background:radial-gradient(ellipse at 15% 0%,#ffffff45,transparent 58%),linear-gradient(145deg,#d5b8fa18,#ffffff06),rgba(30,25,43,.48);
  box-shadow:inset 0 1px 2px #ffffff80,inset 0 -1px 2px #d6b4ff50,0 10px 30px #0003;
  backdrop-filter:blur(22px) saturate(170%); -webkit-backdrop-filter:blur(22px) saturate(170%);
  opacity:0; transform:scale(.8); pointer-events:none; cursor:pointer;
  transition:opacity .28s ease,transform .48s cubic-bezier(.22,.8,.2,1);
 }
 body .desktop-glass-toggle img { width:38px; height:38px; object-fit:contain; filter:brightness(0) invert(1); }
 body .site-header.desktop-collapsed .desktop-glass-toggle { opacity:1; transform:scale(1); pointer-events:auto; }
 body .site-header.desktop-collapsed .site-logo { opacity:0; transform:scale(.75); pointer-events:none; }
 body .site-header > .fb-search-trigger--desktop { position:relative; width:120px; height:52px; min-height:52px; padding:0; justify-self:end; display:flex; align-items:center; justify-content:flex-start; gap:0; border-radius:999px; overflow:hidden; transition:width .48s cubic-bezier(.22,.8,.2,1),box-shadow .3s ease; }
 body .site-header > .fb-search-trigger--desktop svg { position:absolute; left:15px; width:20px; height:20px; flex:none; }
 body .site-header > .fb-search-trigger--desktop span { margin-left:45px; white-space:nowrap; opacity:1; transform:translateX(0); transition:opacity .2s ease .12s,transform .35s ease; }
 body .site-header.desktop-collapsed > .fb-search-trigger--desktop { width:52px; }
 body .site-header.desktop-collapsed > .fb-search-trigger--desktop span { opacity:0; transform:translateX(-8px); transition-delay:0s; }
 body.fb-full-width-light .desktop-glass-toggle { background:radial-gradient(ellipse at 15% 0%,#fff,transparent 58%),rgba(248,245,252,.66); border-color:#ffffffd9; box-shadow:inset 0 1px 2px #fff,0 8px 24px #38284826; }
 body.fb-full-width-light .desktop-glass-toggle img { filter:brightness(0); }
 .desktop-glass-toggle:focus-visible { outline:2px solid #c58aff; outline-offset:4px; }
}

/* Refined glass motion: an elastic silhouette and a travelling edge highlight. */
@keyframes fb-glass-arrive {
 0% { transform:scale(.86,1.06); }
 65% { transform:scale(1.045,.965); }
 100% { transform:scale(1); }
}
@keyframes fb-glass-sheen {
 0% { opacity:0; transform:translateX(-130%) skewX(-18deg); }
 24% { opacity:.65; }
 100% { opacity:0; transform:translateX(160%) skewX(-18deg); }
}
@keyframes fb-glass-sheen-return {
 0% { opacity:0; transform:translateX(140%) skewX(-18deg); }
 24% { opacity:.5; }
 100% { opacity:0; transform:translateX(-140%) skewX(-18deg); }
}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
 body .site-header .nav-capsule {
  overflow:visible;
  transition:transform .64s cubic-bezier(.22,.8,.2,1.035),opacity .28s ease .08s,filter .5s ease,visibility 0s!important;
 }
 body .site-header.desktop-collapsed .nav-capsule {
  transform:translateX(var(--glass-fold-x,-80px)) scale(var(--glass-fold-scale,.1),.88);
  opacity:0; filter:blur(2px);
  transition:transform .6s cubic-bezier(.65,0,.2,1),opacity .16s ease .32s,filter .5s ease,visibility 0s .6s!important;
 }
 body .site-header .nav-capsule .menu > li { opacity:1; transform:translateY(0); transition:opacity .22s ease .22s,transform .4s cubic-bezier(.2,.8,.2,1) .18s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(2) { transition-delay:.25s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(3) { transition-delay:.28s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(4) { transition-delay:.31s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(5) { transition-delay:.34s!important; }
 body .site-header.desktop-collapsed .nav-capsule .menu > li { opacity:0; transform:translateY(5px); transition-delay:0s!important; transition-duration:.12s!important; }
 body .site-header .desktop-glass-toggle { overflow:hidden; transition:opacity .22s ease,transform .6s cubic-bezier(.2,.85,.2,1.08)!important; }
 body .site-header.desktop-collapsed .desktop-glass-toggle { transition-delay:.24s!important; }
 body .site-header.glass-motion-ready.desktop-collapsed .desktop-glass-toggle img { animation:fb-glass-arrive .58s .24s both!important; }
 body .site-header.glass-motion-ready:not(.desktop-collapsed) .site-logo img { animation:fb-glass-arrive .6s both!important; }
 body .site-header > .fb-search-trigger--desktop { transition:width .62s cubic-bezier(.25,.85,.25,1.065),box-shadow .4s ease!important; }
 body .site-header.glass-motion-ready.desktop-collapsed > .fb-search-trigger--desktop svg { animation:fb-glass-arrive .6s .12s both!important; }
 body .site-header.glass-motion-ready:not(.desktop-collapsed) > .fb-search-trigger--desktop svg { animation:fb-glass-arrive .6s both!important; }
 body .site-header .desktop-glass-toggle::after,
 body .site-header > .fb-search-trigger--desktop::after,
 body .site-header .nav-capsule::after {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(105deg,transparent 15%,#fff0 35%,#ffffff60 49%,#e4c5ff25 54%,transparent 72%); opacity:0;
 }
 body .site-header.glass-motion-ready.desktop-collapsed .desktop-glass-toggle::after,
 body .site-header.glass-motion-ready.desktop-collapsed > .fb-search-trigger--desktop::after { animation:fb-glass-sheen .75s .18s both!important; }
 body .site-header.glass-motion-ready:not(.desktop-collapsed) .nav-capsule::after,
 body .site-header.glass-motion-ready:not(.desktop-collapsed) > .fb-search-trigger--desktop::after { animation:fb-glass-sheen-return .8s .08s both!important; }
}
@media(max-width:1100px) and (prefers-reduced-motion:no-preference) {
 .mobile-glass-dock { transition:left .62s cubic-bezier(.25,.85,.25,1.035),width .62s cubic-bezier(.25,.85,.25,1.035),height .62s cubic-bezier(.25,.85,.25,1.035),padding .6s ease,border-radius .6s ease!important; }
 .mobile-dock-items { transition:opacity .26s ease .2s,transform .58s cubic-bezier(.2,.85,.2,1.035),filter .3s ease!important; }
 .mobile-glass-dock.is-collapsed .mobile-dock-items { transform:translateX(-8px) scale(.2,.85); transition:opacity .16s ease,transform .5s ease,filter .3s ease!important; }
 .mobile-glass-dock .mobile-dock-expand { transition:opacity .2s ease,transform .58s cubic-bezier(.2,.85,.2,1.09)!important; }
 .mobile-glass-dock.is-collapsed .mobile-dock-expand { transition-delay:.26s!important; }
 .mobile-glass-dock.glass-motion-ready.is-collapsed .mobile-dock-expand svg { animation:fb-glass-arrive .6s .2s both!important; }
 .mobile-glass-dock.glass-motion-ready::after { animation:fb-glass-sheen-return .8s both!important; }
 .mobile-glass-dock.glass-motion-ready.is-collapsed::after { animation:fb-glass-sheen .75s .12s both!important; }
}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
 body .site-header .site-logo { transition:opacity .24s ease,transform .5s ease!important; }
 body .site-header > .fb-search-trigger--desktop span { transition:opacity .24s ease .22s,transform .45s ease .16s!important; }
 body .site-header.desktop-collapsed > .fb-search-trigger--desktop span { transition-delay:0s!important; }
}

/* Match the quiet mobile signature when the contextual header is disabled. */
@media(max-width:1100px) {
 body .site-header .mobile-glass-name {
  font-size:clamp(16px,4.2vw,18px); font-weight:500; letter-spacing:.005em;
  line-height:1.3; background:none; color:#f5f2f8; -webkit-text-fill-color:currentColor;
  text-shadow:none;
 }
 body.fb-full-width-light .site-header .mobile-glass-name { background:none; color:#211a2c; }
}

/* Home blog: one outer card on phones, without nested panels. */
@media (max-width:700px) {
 body .home-main #articulos-recientes .latest-note,
 body .home-main #articulos-recientes .content-card {
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
 }
 body .home-main #articulos-recientes { padding:28px 20px; }
 body .home-main #articulos-recientes .latest-note::before,
 body .home-main #articulos-recientes .latest-note::after,
 body .home-main #articulos-recientes .content-card::before,
 body .home-main #articulos-recientes .content-card::after { content:none; }
 body .home-main #articulos-recientes .latest-note { margin:24px 0; }
 body .home-main #articulos-recientes .latest-note > a { padding:0; gap:14px; overflow:visible; }
 body .home-main #articulos-recientes .latest-note-media {
  position:relative; inset:auto; width:100%; height:auto; aspect-ratio:16 / 9;
  margin:0 0 4px; border-radius:16px; opacity:1; mask-image:none; -webkit-mask-image:none;
 }
 body .home-main #articulos-recientes .latest-note > a > :not(.latest-note-media) { max-width:none; }
 body .home-main #articulos-recientes .blog-topics-list { gap:4px 18px; }
 body .home-main #articulos-recientes .blog-topics-list a {
  padding:8px 0; border:0; border-radius:0; background:transparent; box-shadow:none;
 }
 body .home-main #articulos-recientes .post-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 body .home-main #articulos-recientes .content-card {
  min-height:0; padding-bottom:24px; border-bottom:1px solid var(--line);
 }
 body .home-main #articulos-recientes .content-card:hover { transform:none!important; box-shadow:none; }
 body .home-main #articulos-recientes .content-card figure { border-radius:16px; aspect-ratio:16 / 9; }
 body .home-main #articulos-recientes .content-card figure::after { content:none; }
 body .home-main #articulos-recientes .content-card div { margin:0; padding:16px 0 0; background:transparent; }
 body .home-main #articulos-recientes .recent-list { margin-top:0; border-top:0; }
 body .home-main #articulos-recientes a:focus-visible { outline:2px solid #d5b4ff; outline-offset:4px; }
}

/* Place the blog navigation after the featured note on phones. */
body .home-main #articulos-recientes > .blog-all-mobile { display:none; }
@media (max-width:700px) {
 body .home-main #articulos-recientes .blog-all-desktop { display:none; }
 body .home-main #articulos-recientes > .blog-all-mobile {
  display:inline-flex; align-items:center; min-height:44px; margin:0 0 20px;
 }
}

/* Neutral dark canvas with soft violet light; no blue pools. */
body:not(.fb-full-width-light):not(.cortex-body) {
 background-color:#0c0a10;
 background-image:
  radial-gradient(ellipse 48rem 36rem at 85% 8%,#b38bd04d,transparent 74%),
  radial-gradient(ellipse 42rem 36rem at 10% 35%,#9877b547,transparent 74%),
  radial-gradient(ellipse 46rem 40rem at 90% 66%,#ad87c940,transparent 76%);
 background-repeat:no-repeat; background-attachment:scroll;
}
@media(min-width:1101px) {
 body:not(.fb-full-width-light):not(.cortex-body) {
  background-image:
   radial-gradient(ellipse 48vw 65vh at 85% 12%,#b38bd059,transparent 74%),
   radial-gradient(ellipse 42vw 55vh at 12% 70%,#9877b54d,transparent 74%);
  background-attachment:fixed;
 }
}
/* A lighter tint lets the ambient light show through the outer panels. */
body:not(.fb-full-width-light) .home-main > :is(.section-band,.apps-band,.uses-band,.app-feature),
body .page-entry.about-page {
 background:linear-gradient(135deg,#ffffff0e,transparent 45%,#d6b7ee06),rgba(20,16,25,.42);
 border:1px solid #e8d8f33d;
 box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #dac3ec14,0 16px 40px #0002;
 backdrop-filter:blur(24px) saturate(115%); -webkit-backdrop-filter:blur(24px) saturate(115%);
}


/* CORTEX dossier: one surface, one reading axis, consistent visual records. */
body .site-main.about-main { max-width:var(--max); }
body .page-entry.about-page {
 padding:clamp(22px,4vw,52px); border:1px solid #513575; border-radius:10px;
 background:linear-gradient(135deg,#b985ff07,transparent 50%),#100c17f0;
 box-shadow:inset 0 1px 0 #c6a1ed16; overflow:hidden; color:#d4cadd;
}
body .page-entry.about-page::before { content:none; }
body .about-page .about-hero.cx-person {
 display:flex; flex-direction:column; align-items:stretch; gap:22px;
 padding:0; border:0; background:none; max-width:860px; margin:0 auto;
 font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body .about-page .cx-person__bar {
 display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px;
 padding-bottom:14px; border-bottom:1px solid #51357580; color:#b597d4;
 font-size:.65rem; letter-spacing:.08em;
}
body .about-page .cx-access { padding:0; min-height:66px; }
body .about-page .cx-access p { margin:0; font-size:.6875rem; line-height:1.8; min-height:1.8em; color:#a88ebf; overflow-wrap:anywhere; }
body .about-page .cx-access__command::before { content:"> "; color:#b985ff; }
body .about-page .cx-access .is-typing::after { content:"▌"; color:#c4a1ee; }
body .about-page .cx-person .eyebrow { margin:0 0 12px; color:#ae7dec; font: .65rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.09em; }
body .about-page .cx-person h1 { margin:0; max-width:none; color:#e6d5fa; font:500 clamp(1.9rem,4vw,3.4rem)/1.15 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:-.055em; }
body .about-page .cx-person__summary { max-width:60ch; margin:14px 0 0; font-size:.9375rem; line-height:1.7; }
body .about-page .cx-person__fields { display:flex; flex-wrap:wrap; gap:10px 28px; margin:0; padding:14px 0; border-block:1px solid #51357555; }
body .about-page .cx-person__fields > div { display:flex; gap:10px; font-size:.6875rem; }
body .about-page .cx-person__fields dt { color:#a88ebf; }
body .about-page .cx-person__fields dd { margin:0; }
body .about-page .cx-person__fields a { text-decoration:underline; text-underline-offset:4px; }
body .about-page .cx-person__note > p:last-child { margin:0; font-family:system-ui,sans-serif; font-size:1rem; line-height:1.75; max-width:72ch; }
body .about-page .cx-person .about-portrait { width:100%; max-width:none; margin:0; }
body .about-page .cx-person .about-portrait img { display:block; width:100%; height:auto; max-height:none; border-radius:5px; filter:none; }
body .about-page .cx-person .about-portrait figcaption { margin:10px 0 0; color:#9878bd; font-size:.625rem; letter-spacing:.08em; text-align:left; }
body .about-page .cx-person__bar--end { margin-top:8px; }
body .about-page .page-reading-layout { max-width:860px; margin:0 auto; padding:0; }
body .about-page .entry-content { display:block; max-width:none; counter-reset:about-chapter; }
body .about-page .cx-record-index { display:flex; flex-wrap:wrap; gap:0 20px; padding:12px 0; border-bottom:1px solid #51357580; }
body .about-page .cx-record-index a { display:flex; align-items:center; min-height:44px; color:#b597d4; font:.6875rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
body .about-page .cx-record-index a:hover { color:#eee1ff; text-decoration:underline; text-underline-offset:5px; }
body .about-page .about-chapter,
body .about-page .about-chapter--illustrated {
 display:flex; flex-direction:column; align-items:stretch; gap:24px; padding:32px 0;
 margin:0; border:0; border-bottom:1px solid #51357555; border-radius:0;
 background:none; box-shadow:none; counter-increment:about-chapter; scroll-margin-top:130px;
}
body .about-page .about-chapter:last-child { border:0; padding-bottom:0; }
body .about-page .about-chapter__copy { order:0; width:100%; max-width:none; }
body .about-page .about-chapter__copy::before { content:"ENTRADA / " counter(about-chapter,decimal-leading-zero); display:block; margin-bottom:14px; color:#ae7dec; font:.65rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.08em; }
body .about-page .entry-content h2 { margin:0 0 20px; color:#d1b5f1; font:500 clamp(1.25rem,2vw,1.6rem)/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:left; }
body .about-page .about-chapter__copy :is(p,ul,ol,blockquote,.wp-block-group,.wp-block-buttons) { margin-left:0!important; margin-right:0!important; text-align:left!important; }
body .about-page .about-chapter__copy p { max-width:72ch; width:auto; font-size:1rem; line-height:1.8; }
body .about-page .about-chapter__copy a { overflow-wrap:anywhere; }
body .about-page .about-chapter__media { order:1; width:100%; max-width:720px; margin:0; }
body .about-page .about-chapter__media::before { content:"MEDIA / " counter(about-chapter,decimal-leading-zero); display:block; margin-bottom:10px; font:.625rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.08em; color:#9878bd; }
body .about-page .about-chapter__media :is(figure,.wp-block-image) { width:100%; margin:0; text-align:left; }
body .about-page .about-chapter__media img { display:block; width:auto!important; height:auto!important; max-width:100%; max-height:440px; object-fit:contain; border-radius:5px!important; filter:none; }
body .about-page .about-chapter__media figcaption { text-align:left; color:#9878bd; font:.6875rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
@media(max-width:700px) {
 body .about-page .about-hero.cx-person { gap:20px; }
 body .about-page .cx-person__fields { gap:10px 20px; }
 body .about-page .about-chapter { padding:28px 0; }
 body .about-page .about-chapter__media img { max-height:360px; }
}
/* The footer shares the page background, without a dark band. */
body:not(.fb-full-width-light):not(.cortex-body) .site-footer.footer-redesign { background:transparent; }
body:not(.fb-full-width-light):not(.cortex-body) .site-footer.footer-redesign::before { content:none; }
@media(prefers-reduced-transparency:reduce),print {
 body:not(.fb-full-width-light):not(.cortex-body) { background-image:none; }
 body:not(.fb-full-width-light) .home-main > :is(.section-band,.apps-band,.uses-band,.app-feature),body .page-entry.about-page { background:#17121c; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* End of the personal record; same terminal language as the opening. */
body .about-page .cx-exit-log {
 max-width:860px; margin:32px auto 0; padding:22px 0 0;
 border-top:1px solid #51357580;
 font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body .about-page .cx-exit-log p { color:#a88ebf; }
body .about-page .cx-exit-log p:last-child { color:#d0b5ec; }

/* ==== Context card (was context-card.css) ==== */
/* A single contextual story, adapted to each navigation surface. */
.fb-context { --context-ink:#fff; color:var(--context-ink); min-width:0; }
.fb-context--mobile { display:none; }
.fb-context-link { position:relative; isolation:isolate; display:flex; align-items:center; gap:10px; min-width:0; overflow:hidden; border:1px solid #dcc9ff45; border-radius:20px; padding:15px 18px; color:var(--context-ink); text-decoration:none; background:radial-gradient(ellipse at 90% 0%,#975cdf35,transparent 75%),#171321ec; box-shadow:inset 0 1px 0 #ffffff35,0 8px 28px #0003; }
.fb-context-link::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#12101bec 5%,#12101bd9 55%,#12101b66); pointer-events:none; }
.fb-context .fb-context-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; opacity:.85; }
.fb-context-copy { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
.fb-context-label { color:#e1c8ff; font-size:10px; font-weight:650; letter-spacing:.07em; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fb-context-title { font-size:15px; font-weight:650; line-height:1.3; letter-spacing:-.02em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fb-context-description { font-size:12px; line-height:1.45; color:#e4dfe9; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fb-context-arrow { flex:none; color:#e1c8ff; font-size:18px; }
.fb-context a:hover { color:#fff; border-color:#dfbaff99; }
.fb-context a:focus-visible,.fb-context button:focus-visible { outline:3px solid #d8afff; outline-offset:3px; }
.fb-context--desktop { position:fixed; bottom:max(24px,env(safe-area-inset-bottom)); left:max(24px,env(safe-area-inset-left)); z-index:19; width:300px; }
.fb-context--desktop .fb-context-link { padding-right:45px; min-height:94px; }
.fb-context-minimize { position:absolute; top:7px; right:7px; display:grid; place-items:center; width:32px; height:32px; border:1px solid #ffffff30; border-radius:50%; background:#171321d9; color:#fff; font-size:20px; line-height:1; cursor:pointer; }
.fb-context-minimize[hidden] { display:none; }
.fb-context--desktop.is-minimized { width:48px; height:48px; }
.fb-context--desktop.is-minimized .fb-context-link { display:none; }
.fb-context--desktop.is-minimized .fb-context-minimize { inset:0; width:48px; height:48px; background:#251a38f5; box-shadow:inset 0 1px 0 #ffffff40,0 8px 24px #0003; }
@supports (backdrop-filter:blur(16px)) {
 .fb-context-link { background-color:#171321a6; backdrop-filter:blur(16px) saturate(150%); -webkit-backdrop-filter:blur(16px) saturate(150%); }
}
@media(max-width:1100px) {
 .fb-context--desktop { display:none; }
 body .site-header .fb-context--mobile { display:block; grid-column:2; grid-row:1; width:100%; align-self:center; }
 .fb-context--mobile .fb-context-link { height:52px; padding:6px 11px; gap:5px; border-radius:16px; transition:height .25s ease,background-color .25s ease; }
 .fb-context--mobile .fb-context-copy { gap:3px; }
 .fb-context--mobile .fb-context-title { display:block; font-size:13px; white-space:nowrap; text-overflow:ellipsis; }
 .fb-context--mobile .fb-context-label { font-size:9px; letter-spacing:.025em; }
 .fb-context--mobile .fb-context-arrow { font-size:14px; }
 .mobile-name-hidden .fb-context--mobile .fb-context-link { height:36px; border-radius:13px; }
 .mobile-name-hidden .fb-context--mobile .fb-context-label { display:none; }
 .site-header.menu-open .fb-context--mobile { visibility:hidden; }
}
@media(max-width:360px) {
 /* Only with the context card on the page, as when this section was a sheet of its own; :where() keeps the specificity. */
 body:where(:has(.fb-context)) .site-header { column-gap:6px; }
 .fb-context--mobile .fb-context-link { padding-inline:8px; }
 .fb-context--mobile .fb-context-arrow { display:none; }
 .fb-context--mobile .fb-context-title { font-size:12px; }
}
@media(prefers-reduced-transparency:reduce) { .fb-context-link { background:#171321; backdrop-filter:none; -webkit-backdrop-filter:none; } .fb-context-image { display:none; } }
@media print { .fb-context { display:none!important; } }

/* Unified mobile banner: the two glass halves retreat towards the controls. */
.fb-header-surface { display:none; }
@media(max-width:1100px) {
 body .site-header.fb-unified-header,
 body.fb-full-width-light .site-header.fb-unified-header {
  isolation:isolate; grid-template-columns:52px minmax(0,1fr) 52px;
  min-height:64px; padding:6px; gap:8px; border:0;
 }
 body .site-header.fb-unified-header > .fb-header-surface {
  display:block; position:absolute; inset:0; pointer-events:none;
 }
 .fb-header-half {
  position:absolute; inset:0; overflow:hidden;
  background:linear-gradient(120deg,#7c639f30,#20172f80),#15121ce6;
  border:1px solid #c7a6ed66; box-shadow:inset 0 1px 1px #ffffff40;
  backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
 }
 .fb-header-half--left { clip-path:inset(0 49.9% 0 0); }
 .fb-header-half--right { clip-path:inset(0 0 0 50%); }
 .fb-header-half img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:35% center; opacity:.85; }
 .fb-header-half::after { content:""; position:absolute; inset:0; }
 body .fb-unified-header .fb-context--mobile .fb-context-link {
  height:52px; padding:5px 3px; border:0; border-radius:0; background:none;
  box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
 }
 .fb-unified-header .fb-context--mobile .fb-context-link::after,
 .fb-unified-header .fb-context--mobile .fb-context-image { display:none; }
 body .fb-unified-header.fb-banner-collapsed .fb-context--mobile {
  opacity:0; visibility:hidden;
  pointer-events:none;
 }
 .fb-unified-header.fb-banner-collapsed .fb-header-half--left { clip-path:inset(0 calc(100% - 58px) 0 0); opacity:0; filter:blur(3px); }
 .fb-unified-header.fb-banner-collapsed .fb-header-half--right { clip-path:inset(0 0 0 calc(100% - 58px)); opacity:0; filter:blur(3px); }
 body .fb-unified-header.mobile-name-hidden .fb-context--mobile .fb-context-label { display:block; }
 body .fb-unified-header.mobile-name-hidden .fb-context--mobile .fb-context-link { height:52px; }
}
@media(prefers-reduced-motion:reduce) {
 .fb-header-half,body .fb-unified-header .fb-context--mobile,
 body .fb-unified-header.fb-banner-collapsed .fb-context--mobile { transform:none; filter:none; }
}
@media(prefers-reduced-transparency:reduce) {
 .fb-header-half { background:#171321; backdrop-filter:none; -webkit-backdrop-filter:none; }
 /* Keep editorial images visible even when transparency is reduced. */
}

/* Keep the photographic surface above the header background, below controls. */
@media(max-width:1100px) {
 body .site-header.fb-unified-header > .fb-header-surface { z-index:0; }
 body .site-header.fb-unified-header > .brand-lockup,
 body .site-header.fb-unified-header > .fb-context--mobile,
 body .site-header.fb-unified-header > .menu-toggle { position:relative; z-index:1; }
 .fb-unified-header .fb-context--mobile .fb-context-copy { gap:2px; }
 .fb-unified-header .fb-context--mobile .fb-context-description {
  display:block; font-size:10px; line-height:1.25; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; color:#eee8f7;
 }
 .fb-header-half::after { background:linear-gradient(90deg,#11102040,#11102026 25%,#111020b8 57%,#11102080); }
}

/* Independent icon tile: its image never becomes the banner background. */
.fb-context-icon {
 display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px;
 border-radius:13px; border:1px solid #e0baff55; color:#e2baff;
 background:radial-gradient(ellipse at 15% 0%,#ffffff30,transparent 65%),linear-gradient(145deg,#b288e42e,#1a1525c9);
 box-shadow:inset 0 1px 1px #ffffff50,inset 0 -1px 1px #b387e530,0 4px 12px #0003;
 backdrop-filter:blur(12px) saturate(150%); -webkit-backdrop-filter:blur(12px) saturate(150%);
 overflow:hidden;
}
.fb-context-icon svg { width:24px; height:24px; }
.fb-context .fb-context-icon img { position:static; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; opacity:1; }
@media(max-width:1100px) {
 .fb-context-icon { flex-basis:32px; width:32px; height:36px; border-radius:10px; }
 .fb-context-icon svg { width:20px; height:20px; }
 body .fb-unified-header .fb-context--mobile .fb-context-link { gap:7px; }
}
@media(prefers-reduced-transparency:reduce) {
 .fb-context-icon { background:#292034; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Mobile context matches the navigation dock; desktop retains dark glass. */
body.fb-full-width-light .fb-context--mobile { --context-ink:#272032; }
body.fb-full-width-light .fb-context--mobile .fb-context-label,
body.fb-full-width-light .fb-context--mobile .fb-context-arrow { color:#654080; }
body.fb-full-width-light .fb-context--mobile .fb-context-description { color:#51485d; }
body.fb-full-width-light .fb-context--mobile a:hover { color:#272032; border-color:#8b6aa580; }
body.fb-full-width-light .fb-context--mobile a:focus-visible,
body.fb-full-width-light .fb-context--mobile button:focus-visible { outline-color:#73429a; }
body.fb-full-width-light .fb-context--mobile .fb-context-icon {
 color:#654080; border-color:#ffffffd9;
 background:radial-gradient(ellipse at 15% 0%,#ffffffd9,transparent 65%),linear-gradient(145deg,#eee5f699,#ffffffb3);
 box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #87749830,0 4px 12px #271a351a;
}
@media(max-width:1100px) {
 body.fb-full-width-light .fb-unified-header .fb-header-half {
  background:radial-gradient(ellipse at 10% 0%,#ffffffb3,transparent 60%),linear-gradient(140deg,#ddd0ed40,#ffffff50),rgba(245,242,249,.78);
  border-color:#ffffffbf; box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #87749830;
 }
 body.fb-full-width-light .fb-unified-header .fb-header-half img { opacity:.9; }
 body.fb-full-width-light .fb-unified-header .fb-header-half::after {
  background:linear-gradient(90deg,#f8f6fc80,#f8f6fccc 18%,#f8f6fcc2 48%,#f8f6fc80 72%,#f8f6fc59);
 }
 body.fb-full-width-light .fb-unified-header .site-logo,
 .nav-ready body.fb-full-width-light .fb-unified-header .menu-toggle {
  color:#30253d; border-color:#ffffffd9;
  background:radial-gradient(ellipse at 18% 0%,#fff,transparent 55%),linear-gradient(140deg,#eee5f64d,#ffffff66),rgba(245,242,249,.64);
  box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #87749830,0 4px 16px #271a351a;
 }
 body.fb-full-width-light .fb-unified-header .site-logo img { filter:brightness(0); }
}
@media(prefers-reduced-transparency:reduce) {
 body.fb-full-width-light .fb-context--mobile .fb-context-icon,
 body.fb-full-width-light .fb-unified-header .fb-header-half,
 body.fb-full-width-light .fb-unified-header .site-logo,
 .nav-ready body.fb-full-width-light .fb-unified-header .menu-toggle {
  background:#f5f2f9; backdrop-filter:none; -webkit-backdrop-filter:none;
 }
 body.fb-full-width-light .fb-unified-header .fb-header-half img { display:none; }
}

/* V2 — content changes inside the existing glass; geometry stays untouched. */
.fb-context[data-context-v2] .fb-context-copy.is-leaving,
.fb-context[data-context-v2] .fb-context-icon-slot.is-leaving { opacity:0; }
.fb-context[data-context-v2] .fb-context-icon-slot:empty { display:none; }
.fb-context[data-context-v2] .fb-context-link:not([href]) { cursor:default; }
.fb-header-half .fb-header-state-image { opacity:0; }
.fb-header-half .fb-header-state-image.is-visible { opacity:.85; }
@media(max-width:1100px) {
 .fb-context[data-context-v2] .fb-context-copy { overflow:hidden; }
 .fb-context[data-context-v2] .fb-context-label,
 .fb-context[data-context-v2] .fb-context-title,
 .fb-context[data-context-v2] .fb-context-description { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) {
 .fb-context[data-context-v2] .fb-context-copy,
 .fb-context[data-context-v2] .fb-context-icon-slot,
 .fb-header-half .fb-header-state-image { transform:none!important; filter:none!important; }
}

/* V2.4 — quieter, more compact desktop context card. Mobile is intentionally untouched. */
@media(min-width:1101px) {
 .fb-context--desktop .fb-context-copy { gap:3px; }
 .fb-context--desktop .fb-context-label { font-size:9px; }
 .fb-context--desktop .fb-context-title { font-size:14px; line-height:1.22; -webkit-line-clamp:1; }
 .fb-context--desktop .fb-context-description { font-size:11px; line-height:1.3; -webkit-line-clamp:1; }
 .fb-context-min-chevron { position:absolute; inset:0; display:grid; place-items:center; }
 .fb-context-min-chevron::before {
  content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg); transition:transform .25s ease,opacity .2s ease;
 }
 .fb-context-min-thumb { position:absolute; inset:0; border-radius:inherit; background-position:center; background-size:cover; opacity:0; transform:scale(1.04); transition:opacity .18s ease,transform .35s ease; }
 .fb-context-min-thumb::after { content:""; position:absolute; inset:0; border-radius:inherit; background:rgba(10,8,16,0); transition:background-color .2s ease; }
 .fb-context--desktop.is-minimized .fb-context-min-thumb.has-image { opacity:1; transform:scale(1); }
 .fb-context--desktop.is-minimized .fb-context-min-thumb.is-changing { opacity:0; transform:scale(1.035); }
 .fb-context--desktop.is-minimized .fb-context-minimize:hover .fb-context-min-thumb::after,
 .fb-context--desktop.is-minimized .fb-context-minimize:focus-visible .fb-context-min-thumb::after { background:rgba(10,8,16,.42); }
 .fb-context--desktop.is-minimized .fb-context-minimize:hover .fb-context-min-chevron,
 .fb-context--desktop.is-minimized .fb-context-minimize:focus-visible .fb-context-min-chevron { opacity:1; }
 .fb-context--desktop.is-minimized .fb-context-minimize:not(:has(.fb-context-min-thumb.has-image)) .fb-context-min-chevron { opacity:1; }
}
@media(min-width:1101px) and (prefers-reduced-motion:reduce) {
 .fb-context--desktop .fb-context-minimize,.fb-context-min-thumb,.fb-context-min-chevron::before { transition:none!important; }
}

/* V2.5 — desktop scroll behaviour + refined Liquid Glass controls. */
@media(min-width:1101px) {
 .fb-context--desktop .fb-context-minimize {
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
  backdrop-filter:blur(18px) saturate(175%);
  -webkit-backdrop-filter:blur(18px) saturate(175%);
 }
 .fb-context--desktop .fb-context-minimize::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
 }
 .fb-context--desktop .fb-context-min-thumb { z-index:0; }
 .fb-context--desktop .fb-context-min-chevron { z-index:3; display:flex; align-items:center; justify-content:center; }
 .fb-context--desktop .fb-context-min-chevron::before {
  width:9px;
  height:9px;
  margin:0;
  transform:translateY(-1px) rotate(45deg);
  transform-origin:center;
 }
 .fb-context--desktop.is-minimized .fb-context-min-chevron::before {
  transform:translateY(1px) rotate(225deg);
 }
 .fb-context--desktop.is-minimized .fb-context-min-thumb {
  inset:2px;
  border-radius:50%;
 }
 .fb-context--desktop.is-minimized .fb-context-min-thumb::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
 }
}
@media(min-width:1101px) and (prefers-reduced-motion:reduce) {
 .fb-context--desktop,.fb-context--desktop .fb-context-minimize { scroll-behavior:auto; }
}

/* V2.6 — tighter desktop card. Mobile and minimized state remain unchanged. */
@media(min-width:1101px) {

 .fb-context--desktop:not(.is-minimized) .fb-context-copy { gap:2px; }
 .fb-context--desktop:not(.is-minimized) .fb-context-label {
  line-height:1.2;
 }

 .fb-context--desktop:not(.is-minimized) .fb-context-min-chevron::before {
  border-right-width:1.5px;
  border-bottom-width:1.5px;
  transform:translateY(-1px) rotate(45deg);
 }
}

/* V3: a stable surface, coordinated motion and readable light backgrounds. */
.fb-context [hidden] { display:none!important; }
.fb-context[data-context-v2] .fb-context-copy,
.fb-context[data-context-v2] .fb-context-icon-slot {
 transition:opacity .16s ease,transform .24s cubic-bezier(.22,.75,.22,1);
 will-change:auto;
}
.fb-context[data-context-v2] .fb-context-copy.is-leaving,
.fb-context[data-context-v2] .fb-context-icon-slot.is-leaving { transform:translateY(-3px); filter:none; }
.fb-header-half .fb-header-state-image { transition:opacity .32s ease; }
@media(max-width:1100px) {
 .fb-header-half { transition:clip-path .32s cubic-bezier(.22,.75,.22,1),opacity .26s ease; filter:none!important; }
 body .fb-unified-header .fb-context--mobile { transition:opacity .2s ease .08s,transform .28s ease; filter:none; }
 body .fb-unified-header.fb-banner-collapsed .fb-context--mobile {
  transform:translateY(-3px); filter:none;
  transition:opacity .14s ease,transform .24s ease,visibility 0s .28s;
 }
}
@media(min-width:1101px) {
 .fb-context--desktop,
 .fb-context--desktop:not(.is-minimized) {
  width:272px; height:80px;
  transition:width .32s cubic-bezier(.22,.75,.22,1),height .32s cubic-bezier(.22,.75,.22,1);
 }
 .fb-context--desktop .fb-context-link,
 .fb-context--desktop:not(.is-minimized) .fb-context-link {
  position:absolute; left:0; bottom:0; display:flex; box-sizing:border-box;
  width:272px; height:80px; min-height:80px; padding:10px 48px 10px 14px;
  border-radius:18px; clip-path:inset(-30px round 18px);
  opacity:1; visibility:visible;
  transition:clip-path .32s cubic-bezier(.22,.75,.22,1),opacity .18s ease .1s,visibility 0s;
 }
 .fb-context--desktop.is-minimized { width:46px; height:46px; }
 .fb-context--desktop.is-minimized .fb-context-link {
  display:flex; clip-path:inset(34px 226px 0 0 round 23px); opacity:0; visibility:hidden; pointer-events:none;
  transition:clip-path .32s cubic-bezier(.22,.75,.22,1),opacity .16s ease,visibility 0s .32s;
 }
 .fb-context--desktop .fb-context-minimize,
 .fb-context--desktop:not(.is-minimized) .fb-context-minimize {
  inset:auto; left:240px; bottom:48px; width:24px; height:24px; overflow:visible;
  transition:left .32s cubic-bezier(.22,.75,.22,1),bottom .32s cubic-bezier(.22,.75,.22,1),width .32s ease,height .32s ease,background-color .2s ease;
 }
 .fb-context--desktop .fb-context-minimize::before { content:""; position:absolute; inset:-6px; border-radius:50%; }
 .fb-context--desktop:not(.is-minimized) .fb-context-minimize::before { inset:-10px; }
 .fb-context--desktop:not(.is-minimized) .fb-context-min-chevron::before { width:6px; height:6px; }
 .fb-context--desktop.is-minimized .fb-context-minimize { inset:auto; left:0; bottom:0; width:46px; height:46px; }
 .fb-context--desktop:not(.is-minimized) .fb-context-label { font-size:10px; letter-spacing:.04em; }
 .fb-context--desktop:not(.is-minimized) .fb-context-title { font-size:14px; line-height:1.25; }
 .fb-context--desktop:not(.is-minimized) .fb-context-description { font-size:12px; line-height:1.3; }
 .fb-context--desktop .fb-context-image { opacity:0; transition:opacity .32s ease; }
 .fb-context--desktop .fb-context-image.is-visible { opacity:1; }
 .fb-context-min-thumb { overflow:hidden; }
 .fb-context-min-thumb > img { width:100%; height:100%; object-fit:cover; display:block; }
 .fb-context-min-thumb > .fb-context-icon { width:100%; height:100%; border:0; border-radius:50%; box-sizing:border-box; }
 .fb-context--desktop.is-minimized .fb-context-min-thumb { opacity:1; }
 .fb-context--desktop.is-minimized .fb-context-min-chevron { opacity:.7; }
 .fb-context--desktop.is-minimized .fb-context-min-thumb.has-image + .fb-context-min-chevron { opacity:0; }
 .fb-context--desktop.is-minimized .fb-context-minimize:is(:hover,:focus-visible) .fb-context-min-chevron { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
 .fb-context,.fb-context *, .fb-header-half,.fb-header-half *,body .fb-unified-header .fb-context--mobile { transition:none!important; animation:none!important; }
}
body.fb-full-width-light .fb-unified-header .fb-header-half .fb-header-state-image { opacity:0; }
body.fb-full-width-light .fb-unified-header .fb-header-half .fb-header-state-image.is-visible { opacity:.9; }
.fb-header-half .fb-header-state-image[hidden] { display:none!important; }

/* Desktop glass: edge reflections sit above the photograph, clear of the copy. */
@media(min-width:1101px) {
 .fb-context--desktop .fb-context-link > .fb-context-image {
  /* A narrower photo plane preserves more of the scene and moves its subject right. */
  inset:0 0 0 auto; width:82%; height:100%; object-position:center;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 25%);
  mask-image:linear-gradient(to right,transparent,#000 25%);
 }
 .fb-context--desktop .fb-context-link {
  border-color:rgba(224,224,255,.42);
  background:rgba(18,19,34,.62);
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
  box-shadow:inset 0 1px 1px #ffffff80,inset 1px 0 1px #c5dcff50,
   inset 0 -1px 1px #ffffff38,0 10px 28px #07081445;
 }
 .fb-context--desktop .fb-context-link::before {
  content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; pointer-events:none;
  background:radial-gradient(ellipse at 3% 0%,#d7eaff55,transparent 27%),
   radial-gradient(ellipse at 100% 0%,#f2dcff38,transparent 25%),
   linear-gradient(175deg,#ffffff0d,transparent 35%,transparent 78%,#c5d8ff16);
  box-shadow:inset 0 0 0 1px #ffffff12,inset 0 2px 4px #e8e9ff20;
 }
 .fb-context--desktop .fb-context-link::after {
  background:linear-gradient(95deg,#101321ed 0%,#101321d4 36%,#10132170 56%,#10132130 77%,#10132130);
 }
 .fb-context--desktop .fb-context-minimize,
 .fb-context--desktop.is-minimized .fb-context-minimize {
  border-color:#e2e7ff70;
  background:radial-gradient(ellipse at 22% 5%,#e6f0ff40,transparent 42%),
   linear-gradient(145deg,#51576e66,#15182699);
  box-shadow:inset 0 1px 1px #ffffff9c,inset 1px 0 2px #d2e3ff45,
   inset 0 -1px 2px #e5d4ff55,0 5px 16px #080a1638;
 }
 .fb-context--desktop .fb-context-minimize::after {
  background:radial-gradient(ellipse at 22% 0%,#eff8ff70,transparent 35%),
   radial-gradient(ellipse at 95% 80%,#cba7ef30,transparent 40%);
  box-shadow:inset 0 0 0 .5px #ffffff30;
 }
 .fb-context--desktop.is-minimized .fb-context-min-thumb::before {
  box-shadow:inset 0 2px 4px #edf5ff60,inset 2px 0 5px #c5dcff30,
   inset 0 -3px 6px #10132780;
 }
}
@media(min-width:1101px) and (prefers-reduced-transparency:reduce) {
 .fb-context--desktop .fb-context-link,
 .fb-context--desktop .fb-context-minimize { background-color:#171321; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* All mobile header states retain dark glass on light pages. */
@media(max-width:1100px) {
 body.fb-full-width-light .site-header.fb-unified-header .fb-header-half {
  background:#15121ce6; border-color:#c7a6ed66;
  box-shadow:inset 0 1px 1px #ffffff60,inset 0 -1px 1px #d8c5ee30;
 }
 body.fb-full-width-light .site-header.fb-unified-header .fb-context--mobile { --context-ink:#fff; }
 body.fb-full-width-light .site-header.fb-unified-header .fb-context-title,
 body.fb-full-width-light .site-header.fb-unified-header .fb-context-link:hover { color:#fff; }
 body.fb-full-width-light .site-header.fb-unified-header .fb-context-label,
 body.fb-full-width-light .site-header.fb-unified-header .fb-context-arrow { color:#e1c8ff; }
 body.fb-full-width-light .site-header.fb-unified-header .fb-context-description { color:#eee8f7; }
 body.fb-full-width-light .site-header.fb-unified-header .fb-context-link:focus-visible { outline-color:#d8afff; }
 body.fb-full-width-light .site-header.fb-unified-header:not(.fb-banner-collapsed):not(.menu-open) .site-logo,
 .nav-ready body.fb-full-width-light .site-header.fb-unified-header:not(.fb-banner-collapsed):not(.menu-open) .menu-toggle {
  color:#fff; border-color:#e0d4f580;
  background:radial-gradient(ellipse at 18% 0%,#ffffff35,transparent 55%),#211b35a6;
  box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 2px #b9a0da30,0 4px 12px #0002;
 }
 body.fb-full-width-light .site-header.fb-unified-header:not(.fb-banner-collapsed):not(.menu-open) .site-logo img { filter:brightness(0) invert(1); }
}
@media(max-width:1100px) and (prefers-reduced-transparency:reduce) {
 body.fb-full-width-light .site-header.fb-unified-header .fb-header-half { background:#15121c; }
}

/* Mobile composition: a quiet signature and a wider view of each scene. */
@media(max-width:1100px) {
 body .site-header.fb-unified-header .fb-context--mobile.is-identity .fb-context-title {
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  font-size:18px; font-weight:500; line-height:1.3; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; text-shadow:none;
 }
 body .site-header.fb-unified-header:has(.fb-context--mobile.is-identity) .fb-header-half {
  background:radial-gradient(ellipse at 65% 10%,#79619b45,transparent 70%),linear-gradient(115deg,#181421,#2b223a);
 }
 body .site-header.fb-unified-header:has(.fb-context--mobile.is-identity) .fb-header-half::after {
  background:linear-gradient(120deg,#ffffff08,transparent 50%,#bfa2e010);
 }
 body .site-header.fb-unified-header .fb-header-half .fb-header-state-image {
  inset:0 0 0 auto; width:65%; height:100%; object-fit:cover; object-position:center;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 28%);
  mask-image:linear-gradient(to right,transparent,#000 28%);
 }
 body .site-header.fb-unified-header .fb-header-half::after,
 body.fb-full-width-light .site-header.fb-unified-header .fb-header-half::after {
  background:linear-gradient(90deg,#11102085 0%,#111020e6 20%,#111020cc 40%,#11102060 57%,#11102020 74%,#11102045);
 }
 body .site-header.fb-unified-header .fb-context--mobile:not(.is-identity) .fb-context-copy {
  text-shadow:0 1px 3px #08081199;
 }
}
@media(max-width:360px) {
 body .site-header.fb-unified-header .fb-context--mobile.is-identity .fb-context-title { font-size:16px; }
}

/* Coordinated glass motion: gentle overshoot, longer image dissolves. */
@media(prefers-reduced-motion:no-preference) {
 .fb-context[data-context-v2] .fb-context-copy,
 .fb-context[data-context-v2] .fb-context-icon-slot {
  transition:opacity .24s ease,transform .58s cubic-bezier(.22,1.18,.36,1),filter .3s ease;
 }
 .fb-context[data-context-v2] .fb-context-copy.is-leaving,
 .fb-context[data-context-v2] .fb-context-icon-slot.is-leaving {
  opacity:0; transform:translateY(-5px) scale(.985); filter:blur(2px);
 }
 .fb-header-half .fb-header-state-image,
 .fb-context--desktop .fb-context-image { transition:opacity .68s cubic-bezier(.22,1,.36,1); }
 .fb-context-min-thumb { transition:opacity .4s ease,transform .6s cubic-bezier(.22,1.15,.36,1); }
}
.fb-context-min-thumb > img,
.fb-context-min-thumb > .fb-context-icon { position:absolute; inset:0; }
@media(max-width:1100px) and (prefers-reduced-motion:no-preference) {
 .fb-header-half {
  transition:clip-path .62s cubic-bezier(.22,1.08,.36,1),opacity .48s ease;
 }
 body .site-header.fb-unified-header .fb-context--mobile {
  transform:translateY(0) scale(1); transform-origin:center;
  transition:opacity .36s ease .12s,transform .64s cubic-bezier(.22,1.16,.36,1) .06s,visibility 0s;
 }
 body .site-header.fb-unified-header.fb-banner-collapsed .fb-context--mobile {
  transform:translateY(-4px) scale(.96);
  transition:opacity .24s ease,transform .48s cubic-bezier(.4,0,.2,1),visibility 0s .48s;
 }
}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
 .fb-context--desktop,
 .fb-context--desktop:not(.is-minimized) {
  transition:width .62s cubic-bezier(.22,1.08,.36,1),height .62s cubic-bezier(.22,1.08,.36,1);
 }
 .fb-context--desktop .fb-context-link,
 .fb-context--desktop:not(.is-minimized) .fb-context-link {
  transition:clip-path .62s cubic-bezier(.22,1.08,.36,1),opacity .36s ease .08s,visibility 0s;
 }
 .fb-context--desktop.is-minimized .fb-context-link {
  transition:clip-path .56s cubic-bezier(.4,0,.2,1),opacity .36s ease .06s,visibility 0s .56s;
 }
 .fb-context--desktop .fb-context-minimize,
 .fb-context--desktop:not(.is-minimized) .fb-context-minimize {
  transition:left .62s cubic-bezier(.22,1.1,.36,1),bottom .62s cubic-bezier(.22,1.1,.36,1),width .62s cubic-bezier(.22,1.1,.36,1),height .62s cubic-bezier(.22,1.1,.36,1),background-color .3s ease;
 }
}

/* ==== Squircle corners (was squircle.css) ==== */
/* Identical circular corners across browsers. Avoid feature-dependent
   squircles: keep menus, focus outlines and glass effects unclipped. */
body :is(.hero,.section-band,.apps-band,.uses-band,.latest-note,.feature-banner,.home-cta,.lost-panel) {
 border-radius:28px;
}
body :is(.content-card,.topic-card,.app-card,.use-card,.series-archive__card,.product-facts,.article-series,.fb-next-read,.fb-dialog) {
 border-radius:22px;
}
body .fb-context--desktop .fb-context-link { border-radius:20px; }
@media(max-width:1100px) {
 body .site-header.fb-unified-header,
 body.fb-full-width-light .site-header.fb-unified-header,
 body .fb-header-half { border-radius:999px; }
}

/* ==== Submenus (was submenu.css) ==== */
/* A compact, rounded glass disclosure, independent of the top-level pill. */
body .site-header .site-nav .submenu-enhanced { position:relative; }
body .site-header .site-nav .submenu-enhanced > a { padding-right:52px; }
body .site-header .site-nav .submenu-enhanced > a::after { content:none; }
body .site-header .site-nav .submenu-toggle {
 position:absolute; top:0; right:0; display:grid; place-items:center;
 width:44px; height:44px; padding:0; border:0; border-radius:50%;
 background:transparent; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
body .site-header .site-nav .submenu-toggle svg { transition:transform .18s ease; }
body .site-header .site-nav .submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
body .site-header .site-nav .submenu-toggle:hover { background:#ffffff12; }
body .site-header .site-nav :is(.submenu-toggle,.sub-menu a):focus-visible { outline:2px solid #d7b0ff; outline-offset:2px; }
body .site-header .site-nav .sub-menu[hidden] { display:none!important; }
body .site-header .site-nav .sub-menu {
 box-sizing:border-box; padding:8px; border:1px solid #e2d0ff30; border-radius:22px;
 background:linear-gradient(135deg,#ffffff0d,transparent 65%),rgba(22,18,34,.96);
 box-shadow:inset 0 1px 0 #ffffff26,0 16px 40px #0004;
 backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%);
}
body .site-header .site-nav .sub-menu li { width:100%; margin:0; }
body .site-header .site-nav .sub-menu li + li { margin-top:4px; }
body .site-header .site-nav .sub-menu li > a {
 display:flex; align-items:center; width:100%; min-height:48px; padding:12px 16px;
 border:1px solid transparent; border-radius:14px; font-size:.9375rem; line-height:1.4;
 font-weight:550; letter-spacing:-.01em; text-align:left; white-space:normal;
 color:#f7f3ff; background:transparent; box-shadow:none; text-shadow:none;
}
body .site-header .site-nav .sub-menu li > a:hover,
body .site-header .site-nav .sub-menu li > a:focus-visible { background:#ffffff0d; border-color:#ffffff1c; box-shadow:inset 0 1px 0 #ffffff12; }
body .site-header .site-nav .sub-menu .current-menu-item > a { background:#b787ea20; border-color:#c59cec40; }
body .site-header .site-nav .sub-menu .submenu-enhanced > a { padding-right:52px; }
@media(min-width:1101px) {
 body .site-header .site-nav .menu > .submenu-enhanced > a { min-height:44px; }
 body .site-header .site-nav .menu > li > .sub-menu { top:calc(100% + 12px); left:0; width:248px; max-width:calc(100vw - 32px); }
 body .site-header .site-nav .menu > li > .sub-menu::before { content:""; position:absolute; top:-14px; left:0; right:0; height:14px; }
 body .site-header .site-nav .sub-menu .sub-menu { position:static; width:auto; margin:4px 0 4px 12px; padding:4px; border:0; border-left:1px solid #cfacf43d; border-radius:0; background:transparent; box-shadow:none; }
 body.fb-full-width-light .site-header .site-nav .sub-menu { background:linear-gradient(135deg,#fff,#f6f1fcf5); border-color:#522d7626; }
 body.fb-full-width-light .site-header .site-nav .sub-menu li > a { color:#2e203d; }
 body.fb-full-width-light .site-header .site-nav .sub-menu li > a:hover,
 body.fb-full-width-light .site-header .site-nav .sub-menu .current-menu-item > a { background:#995bc514; border-color:#995bc526; }
}
@media(max-width:1100px) {
 body .site-header .site-nav .submenu-toggle { top:2px; right:4px; width:48px; height:48px; color:#f7f3ff; }
 body .site-header .site-nav .menu .submenu-enhanced > a { padding-right:60px; min-height:52px; }
 body .site-header .site-nav .sub-menu { position:static; width:auto; margin:4px 4px 12px; padding:6px; border-radius:18px; background:#ffffff04; box-shadow:inset 0 1px 0 #ffffff0d; backdrop-filter:none; -webkit-backdrop-filter:none; }
 body .site-header .site-nav .sub-menu li > a { min-height:48px; padding:12px 14px; }
}
@media(prefers-reduced-transparency:reduce) { body .site-header .site-nav .sub-menu { background:#161222; backdrop-filter:none; -webkit-backdrop-filter:none; } }
body .site-header .site-nav .menu > .submenu-enhanced > a { padding-right:52px; }
body .site-header .site-nav .submenu-enhanced.submenu-open > .sub-menu { display:block; }
