/**
 * Sybrix base styles — scoped to child presentation layer
 */

body.sybrix-site {
	font-family: var(--sybrix-font-ui);
	font-size: var(--sybrix-body);
	line-height: 1.6;
	color: var(--sybrix-ink);
	background: var(--sybrix-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.sybrix-site .sybrix-chrome,
body.sybrix-site .sybrix-home-main {
	box-sizing: border-box;
}

body.sybrix-site *,
body.sybrix-site *::before,
body.sybrix-site *::after {
	box-sizing: inherit;
}

body.sybrix-site img {
	max-width: 100%;
	height: auto;
	display: block;
}

body.sybrix-site a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

body.sybrix-site a:hover {
	color: var(--sybrix-accent);
}

body.sybrix-site :focus-visible {
	outline: 2px solid var(--sybrix-accent);
	outline-offset: 3px;
}

body.sybrix-site .sybrix-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 99999;
	padding: 0.75rem 1rem;
	background: var(--sybrix-dark);
	color: #fff;
	font-weight: 600;
}

body.sybrix-site .sybrix-skip-link:focus {
	left: 1rem;
	top: 1rem;
}

body.sybrix-site .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

html.sybrix-nav-open {
	overflow: hidden;
}

body.sybrix-site .sybrix-eyebrow {
	font-family: var(--sybrix-font-ui);
	font-size: var(--sybrix-eyebrow);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sybrix-muted);
	margin: 0 0 0.75rem;
}

body.sybrix-site .sybrix-eyebrow--accent {
	color: var(--sybrix-accent);
}

body.sybrix-site .sybrix-eyebrow--light {
	color: #fff;
	font-weight: 700;
}

body.sybrix-site .sybrix-section-title--display {
	font-family: var(--sybrix-font-serif);
	font-weight: 700;
	letter-spacing: -0.02em;
}

body.sybrix-site .sybrix-text-balance {
	text-wrap: balance;
}

body.sybrix-site .sybrix-text-pretty {
	text-wrap: pretty;
}

body.sybrix-site .sybrix-section-title {
	font-family: var(--sybrix-font-ui);
	font-size: var(--sybrix-h2);
	font-weight: 650;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--sybrix-ink);
	margin: 0;
}

body.sybrix-site .sybrix-section-intro {
	font-family: var(--sybrix-font-serif);
	font-size: var(--sybrix-lead);
	line-height: 1.65;
	color: var(--sybrix-muted);
	margin: 0.85rem 0 0;
	max-width: 38rem;
}

body.sybrix-site .sybrix-meta {
	font-size: var(--sybrix-meta);
	font-weight: 500;
	color: var(--sybrix-muted);
	margin: 0.5rem 0 0;
	line-height: 1.4;
}

body.sybrix-site .sybrix-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 600;
	color: var(--sybrix-accent);
	text-decoration: none;
	transition: gap var(--sybrix-duration) var(--sybrix-ease);
}

body.sybrix-site .sybrix-link-arrow:hover {
	gap: 0.55rem;
	color: var(--sybrix-ink);
}

body.sybrix-site .sybrix-link-arrow--light {
	color: rgba(255, 255, 255, 0.88);
}

body.sybrix-site .sybrix-link-arrow--light:hover {
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	body.sybrix-site .sybrix-link-arrow {
		transition: none;
	}
}

/* Suppress Kraft chrome when Sybrix header/footer are active */
body.sybrix-site > header.navbar,
body.sybrix-site > header.header-init,
body.sybrix-site #big_footer,
body.sybrix-site #primary_footer,
body.sybrix-site #secondary_footer,
body.sybrix-site .pageloader {
	display: none !important;
}

/* Keep admin bar usable */
body.admin-bar.sybrix-site {
	--sybrix-header-offset: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.sybrix-site {
		--sybrix-header-offset: 46px;
	}
}
