/* Rhythm public-site law layer.
   Loaded after page CSS so older templates inherit the new VIBES + AGENTS system. */

:root {
	--rh-ink: #090b08;
	--rh-field: #11140f;
	--rh-field-2: #17190f;
	--rh-paper: #f3efe2;
	--rh-paper-dim: rgba(243, 239, 226, 0.68);
	--rh-paper-mute: rgba(243, 239, 226, 0.45);
	--rh-line: rgba(243, 239, 226, 0.12);
	--rh-line-strong: rgba(243, 239, 226, 0.24);
	--rh-sun: #d7a64d;
	--rh-sun-soft: #e9c983;
	--rh-ember: #b8644a;
	--rh-moss: #82956a;
	--rh-sage: #b4c0a1;
	--rh-night: #252018;
	--rh-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--rh-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--rh-mono: "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", ui-monospace, monospace;
}

body {
	background: var(--rh-ink);
	color: var(--rh-paper);
}

.rhythm-home,
.rhythm-blog {
	--space: var(--rh-ink);
	--space-2: var(--rh-field);
	--space-3: var(--rh-field-2);
	--ink: #050604;
	--line: var(--rh-line);
	--line-strong: var(--rh-line-strong);
	--line-warm: rgba(215, 166, 77, 0.3);
	--sun: var(--rh-sun);
	--sun-soft: var(--rh-sun-soft);
	--ember: var(--rh-ember);
	--dawn: #9b6f45;
	--moon: var(--rh-moss);
	--aurora: var(--rh-sage);
	--signal: var(--rh-moss);
	--paper: var(--rh-paper);
	--paper-dim: var(--rh-paper-dim);
	--paper-mute: var(--rh-paper-mute);
	--font-display: var(--rh-display);
	--font-body: var(--rh-body);
	--font-mono: var(--rh-mono);
	background:
		linear-gradient(180deg, #090b08 0%, #11140f 52%, #0a0c09 100%);
	color: var(--rh-paper);
	font-family: var(--rh-body);
}

.docs {
	--d-bg: var(--rh-ink) !important;
	--d-surface: #11140f !important;
	--d-surface-2: #17190f !important;
	--d-border: rgba(243, 239, 226, 0.12) !important;
	--d-border-strong: rgba(243, 239, 226, 0.22) !important;
	--d-text: var(--rh-paper) !important;
	--d-muted: var(--rh-paper-dim) !important;
	--d-faint: var(--rh-paper-mute) !important;
	--d-accent: var(--rh-sun) !important;
	--d-accent-soft: var(--rh-sun-soft) !important;
	--d-mono: var(--rh-mono) !important;
	--d-sans: var(--rh-body) !important;
	--d-serif: var(--rh-display) !important;
	background: var(--rh-ink) !important;
	color: var(--rh-paper) !important;
	font-family: var(--rh-body) !important;
}

.docs :where(.d-topbar, .d-sidebar, .d-toc) {
	background: rgba(9, 11, 8, 0.94) !important;
	border-color: rgba(243, 239, 226, 0.12) !important;
}

.docs :where(.d-topbar-brand-word, .d-h1, .d-prose h1, .d-prose h2, .d-prose h3) {
	font-family: var(--rh-display) !important;
	letter-spacing: 0 !important;
}

.docs :where(.d-topbar-nav a, .d-sidebar-section-h, .d-breadcrumb, .d-toc-h, .d-pn-eyebrow) {
	font-family: var(--rh-body) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.docs :where(.d-topbar-search, .d-pn-cell, .d-prose pre, .d-prose code) {
	border-radius: 6px !important;
	box-shadow: none !important;
}

.rhythm-home :where(h1, h2, h3, .rh-logo-word, .rh-foot-mark, .rh-foot-news-h),
.rhythm-blog :where(h1, h2, h3, .rb-page-h, .rb-title) {
	font-family: var(--rh-display) !important;
	letter-spacing: 0 !important;
}

.rhythm-home :where(p, a, li, input, button, span),
.rhythm-blog :where(p, a, li, input, button, span) {
	font-family: inherit;
}

.rhythm-home :where(em),
.rhythm-blog :where(em) {
	background: none !important;
	-webkit-background-clip: initial !important;
	background-clip: initial !important;
	-webkit-text-fill-color: currentColor !important;
	color: var(--rh-sun-soft) !important;
}

.rhythm-home :where(.rh-aurora, .rh-hero-grid, .ax-hero-grid, .rb-aurora, .rh-final-bg),
.rhythm-blog :where(.rh-aurora, .rb-aurora) {
	display: none !important;
}

.rh-stars {
	opacity: 0.16 !important;
}

.rh-star {
	animation: none !important;
	box-shadow: none !important;
	background: var(--rh-paper-mute) !important;
}

.rh-logo-mark {
	color: var(--rh-paper);
	animation: none !important;
	filter: none !important;
}

.rh-logo-word,
.rh-foot-mark span {
	font-style: normal !important;
	font-weight: 500 !important;
	font-size: 17px !important;
	color: var(--rh-paper) !important;
}

.rh-logo-word em,
.rh-foot-mark em {
	color: var(--rh-sun) !important;
}

.rh-nav {
	position: sticky !important;
	top: 0;
	z-index: 50;
	padding: 14px clamp(16px, 3vw, 36px) !important;
	background: rgba(9, 11, 8, 0.92) !important;
	backdrop-filter: saturate(116%) blur(10px) !important;
	-webkit-backdrop-filter: saturate(116%) blur(10px) !important;
	border-bottom: 1px solid rgba(243, 239, 226, 0.1) !important;
}

.rh-nav-inner {
	max-width: 1240px !important;
	grid-template-columns: auto 1fr auto !important;
	gap: clamp(18px, 4vw, 44px) !important;
}

.rh-nav-links {
	justify-self: center !important;
	gap: clamp(14px, 2.4vw, 30px) !important;
	font-family: var(--rh-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.rh-nav-links a {
	opacity: 0.72 !important;
	padding: 8px 0 !important;
}

.rh-nav-links a::after {
	display: none !important;
}

.rh-nav-links a:hover {
	opacity: 1 !important;
	color: var(--rh-paper) !important;
}

.rh-nav-cluster {
	gap: 10px !important;
}

.rh-nav-app,
.rh-nav-cta {
	border-radius: 6px !important;
	font-family: var(--rh-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transform: none !important;
	box-shadow: none !important;
}

.rh-nav-app {
	padding: 9px 11px !important;
	color: var(--rh-paper-dim) !important;
	background: transparent !important;
	border: 1px solid transparent !important;
}

.rh-nav-app:hover {
	color: var(--rh-paper) !important;
	background: rgba(243, 239, 226, 0.06) !important;
	border-color: rgba(243, 239, 226, 0.14) !important;
	transform: none !important;
}

.rh-nav-app svg {
	color: currentColor !important;
}

.rh-nav-cta {
	padding: 10px 14px !important;
	background: var(--rh-paper) !important;
	color: #11140f !important;
	border: 1px solid var(--rh-paper) !important;
}

.rh-nav-cta:hover {
	background: var(--rh-sun-soft) !important;
	border-color: var(--rh-sun-soft) !important;
	color: #11140f !important;
	transform: none !important;
}

.rh-btn,
.rhm-btn,
.rh-foot-news-btn,
.rh-wl-btn {
	border-radius: 6px !important;
	font-family: var(--rh-body) !important;
	font-size: 15px !important;
	font-weight: 650 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transform: none !important;
	box-shadow: none !important;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease !important;
}

.rh-btn:hover,
.rhm-btn:hover,
.rh-foot-news-btn:hover,
.rh-wl-btn:hover {
	transform: none !important;
	box-shadow: none !important;
}

.rh-btn-sun,
.rh-btn-primary,
.rhm-btn-primary,
.rhm-action,
.rh-wl-btn,
.rh-foot-news-btn {
	background: var(--rh-paper) !important;
	color: #11140f !important;
	border: 1px solid var(--rh-paper) !important;
	animation: none !important;
}

.rh-btn-sun::before,
.rh-btn-sun::after {
	display: none !important;
}

.rh-btn-sun:hover,
.rh-btn-primary:hover,
.rhm-btn-primary:hover,
.rhm-action:hover,
.rh-wl-btn:hover,
.rh-foot-news-btn:hover {
	background: var(--rh-sun-soft) !important;
	border-color: var(--rh-sun-soft) !important;
	color: #11140f !important;
}

.rh-btn-ghost,
.rhm-btn-ghost {
	background: transparent !important;
	color: var(--rh-paper) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	padding-left: 2px !important;
	padding-right: 2px !important;
}

.rh-btn-ghost:hover,
.rhm-btn-ghost:hover {
	background: transparent !important;
	color: var(--rh-sun-soft) !important;
	border-color: transparent !important;
}

.rh-sect-label,
.rhm-section-label,
.rhm-section-tag,
.rb-eyebrow,
.rb-card-eyebrow {
	font-family: var(--rh-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--rh-paper-mute) !important;
}

.rh-dot,
.rh-dot-sm,
.rhm-eyebrow-dot,
.rh-wl-dot,
.rb-dot,
[class*="chip-dot"],
[class*="pip"] {
	box-shadow: none !important;
}

.rhythm-home :where(.rh-hero-meta, .rh-hero-side, .rh-hero-orbit, .ax-hero-meta, .ax-hero-lede, .ax-hero-cta, .ax-hero-chips, .rhm-eyebrow, .rhm-h1 .rhm-line > span, .rhm-sub, .rhm-cta, .rhm-meta, .rhm-install),
.rhythm-blog :where(.rb-page-head, .rb-grid-section) {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}

.rhythm-home :where(.rh-card, .rhm-card, .rhm-shop-card, .ax-cap-cell, .lb-strip-cell, .in-card, .gs-faq-item) {
	border-radius: 8px !important;
	box-shadow: none !important;
}

.rhythm-home :where(.rh-card:hover, .rhm-card:hover, .rhm-shop-card:hover, .ax-cap-cell:hover, .lb-strip-cell:hover, .in-card:hover) {
	transform: none !important;
}

.rh-foot {
	background: #0a0c09 !important;
	border-top: 1px solid rgba(243, 239, 226, 0.12) !important;
}

.rh-foot-inner {
	max-width: 1240px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 42px !important;
}

.rh-foot-news {
	border: 1px solid rgba(243, 239, 226, 0.14) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(135deg, rgba(215, 166, 77, 0.12), rgba(130, 149, 106, 0.06) 42%, transparent 70%),
		#11140f !important;
	box-shadow: none !important;
}

.rh-foot-news-eyebrow {
	font-family: var(--rh-body) !important;
	font-size: 13px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--rh-paper-mute) !important;
}

.rh-foot-news-field input,
.rh-wl-input {
	border-radius: 6px !important;
	background: #090b08 !important;
	border: 1px solid rgba(243, 239, 226, 0.22) !important;
	color: var(--rh-paper) !important;
	box-shadow: none !important;
}

.rh-foot-news-field input:focus,
.rh-wl-input:focus {
	outline: 2px solid rgba(215, 166, 77, 0.45) !important;
	outline-offset: 2px !important;
	border-color: var(--rh-sun) !important;
}

.rh-foot-bottom {
	border-top: 1px solid rgba(243, 239, 226, 0.1) !important;
	padding-top: 24px !important;
}

.rh-foot-links {
	font-family: var(--rh-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	flex-wrap: wrap !important;
}

.rh-foot-note {
	font-family: var(--rh-body) !important;
	font-size: 13px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.rh-wl-backdrop {
	background: rgba(5, 6, 4, 0.78) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
}

.rh-wl-panel {
	border-radius: 8px !important;
	background: #11140f !important;
	border: 1px solid rgba(243, 239, 226, 0.16) !important;
	box-shadow: 0 18px 48px -28px rgba(0, 0, 0, 0.8) !important;
}

.rh-wl-eyebrow {
	font-family: var(--rh-body) !important;
	font-size: 13px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--rh-paper-mute) !important;
}

.rh-wl-title {
	font-family: var(--rh-display) !important;
	letter-spacing: 0 !important;
}

.rh-wl-x {
	border-radius: 6px !important;
}

@media (max-width: 860px) {
	.rh-nav-inner {
		grid-template-columns: 1fr auto !important;
	}

	.rh-nav-links {
		display: none !important;
	}
}

@media (max-width: 560px) {
	.rh-nav {
		padding-inline: 14px !important;
	}

	.rh-nav-cta {
		display: none !important;
	}

	.rh-logo-word {
		font-size: 15px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
	}
}
