:root {
	--babka-ink: #0f1f3d;
	--babka-muted: #4a6080;
	--babka-paper: #faf8f3;
	--babka-surface: #ffffff;
	--babka-stone: #dde4f0;
	--babka-sage: #2e5fa3;
	--babka-walnut: #1b3a6b;
	--babka-terracotta: #2e5fa3;
	--babka-brass: #4a82c8;
	--babka-blue: #4a82c8;
	--babka-highlight: #7aaee0;
	--babka-border: rgba(15, 31, 61, 0.14);
	--babka-shadow: 0 18px 54px rgba(15, 31, 61, 0.12);
	--babka-radius: 8px;
	--babka-max: 1180px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--babka-paper);
	color: var(--babka-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	letter-spacing: 0;
}

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

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--babka-walnut);
}

button,
input {
	font: inherit;
}

.screen-reader-text,
.babka-skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.babka-skip-link:focus {
	position: fixed;
	top: 14px;
	left: 14px;
	z-index: 999;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	background: var(--babka-ink);
	color: #fff;
	border-radius: var(--babka-radius);
}

.babka-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(250, 248, 243, 0.94);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--babka-border);
}

.babka-topbar {
	background: var(--babka-ink);
	color: #f0f6ff;
	padding: 8px 18px;
	font-size: 0.86rem;
	text-align: center;
}

.babka-header-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: 16px 24px;
}

.babka-brand {
	display: inline-flex;
	flex-direction: column;
	gap: 0;
	text-decoration: none;
	min-width: 118px;
}

.babka-brand-mark {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	line-height: 0.92;
	font-weight: 700;
}

.babka-site-header .babka-brand-mark {
	color: var(--babka-ink);
}

.babka-brand-line {
	color: var(--babka-muted);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0;
}

.babka-menu,
.babka-footer-menu {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.babka-menu a,
.babka-footer-menu a {
	text-decoration: none;
	color: var(--babka-ink);
	font-size: 0.95rem;
	font-weight: 650;
}

.babka-menu a:hover,
.babka-footer-menu a:hover {
	color: var(--babka-walnut);
}

.babka-header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.babka-search {
	display: flex;
	width: min(280px, 22vw);
	border: 1px solid var(--babka-border);
	background: #fff;
	border-radius: 999px;
	overflow: hidden;
}

.babka-search input {
	min-width: 0;
	width: 100%;
	border: 0;
	padding: 9px 12px;
	background: transparent;
}

.babka-search button,
.babka-cart-link,
.babka-menu-toggle {
	border: 1px solid var(--babka-border);
	border-radius: 999px;
	background: var(--babka-surface);
	color: var(--babka-ink);
	text-decoration: none;
	font-weight: 700;
	font-size: 0.88rem;
	padding: 9px 14px;
	cursor: pointer;
	white-space: nowrap;
}

.babka-search button {
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
	border-radius: 0;
	background: var(--babka-ink);
	color: #fff;
}

.babka-cart-link:hover,
.babka-menu-toggle:hover {
	border-color: rgba(46, 95, 163, 0.5);
	color: var(--babka-walnut);
}

.babka-menu-toggle {
	display: none;
	align-items: center;
	gap: 8px;
}

.babka-menu-toggle span:first-child {
	width: 18px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 6px 0 currentColor, 0 -6px 0 currentColor;
}

.babka-main {
	min-height: 62vh;
}

.babka-hero {
	position: relative;
	min-height: min(82vh, 820px);
	display: flex;
	align-items: end;
	isolation: isolate;
	overflow: hidden;
	background: #0a1628;
}

.babka-hero-media {
	position: absolute;
	inset: 0;
	z-index: -3;
}

.babka-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.babka-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background: linear-gradient(90deg, rgba(8, 15, 35, 0.94), rgba(8, 15, 35, 0.66) 48%, rgba(8, 15, 35, 0.18));
}

.babka-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(ellipse at 24% 65%, rgba(5, 10, 25, 0.68), rgba(5, 10, 25, 0.32) 38%, rgba(5, 10, 25, 0) 68%);
}

.babka-hero-content {
	width: min(680px, calc(100% - 36px));
	margin: 0 auto;
	padding: clamp(58px, 8vw, 108px) 0;
	color: #f0f6ff;
	transform: translateX(clamp(-240px, -20vw, -80px));
}

.babka-eyebrow,
.babka-section-kicker {
	margin: 0 0 12px;
	color: var(--babka-terracotta);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0;
}

.babka-hero .babka-eyebrow {
	color: var(--babka-highlight);
}

.babka-hero h1 {
	max-width: 620px;
	margin: 0;
	color: #f0f6ff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 6.4rem;
	line-height: 0.92;
	letter-spacing: 0;
	text-shadow: 0 3px 28px rgba(0, 0, 0, 0.62), 0 1px 2px rgba(0, 0, 0, 0.42);
}

.babka-hero p:not(.babka-eyebrow) {
	max-width: 590px;
	margin: 22px 0 0;
	color: rgba(240, 246, 255, 0.88);
	font-size: 1.22rem;
}

.babka-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
	color: rgba(240, 246, 255, 0.88);
}

.babka-button,
.babka-secondary-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--babka-ink);
	color: #fff;
	font-weight: 800;
	text-decoration: none;
	border: 1px solid var(--babka-ink);
}

.babka-button:visited,
.babka-secondary-link:visited {
	color: #fff;
}

.babka-button:hover,
.babka-secondary-link:hover {
	background: var(--babka-walnut);
	border-color: var(--babka-walnut);
	color: #fff;
}

.babka-button--light {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

.babka-hero-actions .babka-button,
.babka-hero-actions .babka-button:hover {
	color: inherit;
}

.babka-section,
.babka-band-inner,
.babka-cta-band,
.babka-page {
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: clamp(62px, 8vw, 112px) 24px;
}

.babka-section--tight {
	padding-top: clamp(46px, 7vw, 84px);
	padding-bottom: clamp(46px, 7vw, 84px);
}

.babka-section-head,
.babka-section--split,
.babka-band-inner,
.babka-cta-band {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(28px, 5vw, 76px);
	align-items: start;
}

.babka-section-head {
	margin-bottom: 34px;
}

.babka-section h2,
.babka-band h2,
.babka-cta-band h2,
.babka-page h1,
.babka-page h2,
.babka-site-footer h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1;
	letter-spacing: 0;
}

.babka-section h2,
.babka-band h2,
.babka-cta-band h2 {
	font-size: 3.75rem;
}

.babka-section-head p,
.babka-section--split > div > p,
.babka-band p,
.babka-cta-band p {
	margin: 12px 0 0;
	color: var(--babka-muted);
	font-size: 1.02rem;
}

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

.babka-card-grid--guides {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.babka-collection-card,
.babka-guide-card,
.babka-post-card,
.babka-product-card,
.babka-product-empty,
.babka-proof-grid > div,
.babka-need-grid a,
.babka-guidance-list section {
	background: var(--babka-surface);
	border: 1px solid var(--babka-border);
	border-radius: var(--babka-radius);
	box-shadow: 0 10px 30px rgba(15, 31, 61, 0.05);
}

.babka-card-media {
	display: block;
	overflow: hidden;
	border-radius: var(--babka-radius) var(--babka-radius) 0 0;
	background: var(--babka-stone);
}

.babka-card-media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 240ms ease;
}

.babka-collection-card:hover .babka-card-media img {
	transform: scale(1.035);
}

.babka-card-copy,
.babka-guide-card {
	padding: 20px;
	display: flex;
	flex-direction: column;
}

.babka-guide-card p {
	flex: 1;
}

.babka-guide-card .babka-secondary-link {
	margin-top: 16px;
	align-self: flex-start;
}

.babka-card-title,
.babka-guide-card h3,
.babka-post-card h2,
.babka-product-card h3 {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.18;
}

.babka-card-title a,
.babka-guide-card a,
.babka-post-card a,
.babka-product-card a {
	text-decoration: none;
}

.babka-card-copy p,
.babka-guide-card p,
.babka-post-card p,
.babka-product-empty p,
.babka-guidance-list p {
	margin: 10px 0 0;
	color: var(--babka-muted);
}

.babka-band {
	background: #dde6f4;
	border-block: 1px solid rgba(46, 95, 163, 0.22);
}

.babka-need-grid,
.babka-proof-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.babka-need-grid a,
.babka-proof-grid > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	text-decoration: none;
}

.babka-need-grid strong,
.babka-proof-grid strong {
	font-size: 1.05rem;
}

.babka-need-grid span,
.babka-proof-grid span {
	color: var(--babka-muted);
}

.babka-page-hero {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.75fr);
	gap: clamp(26px, 5vw, 68px);
	align-items: center;
	padding: clamp(38px, 7vw, 82px) 24px;
	max-width: var(--babka-max);
	margin: 0 auto;
}

.babka-page-hero-copy h1,
.babka-standard-hero h1,
.babka-guide-hero h1 {
	font-size: 5.15rem;
}

.babka-page-hero-copy > p:not(.babka-eyebrow),
.babka-standard-hero > p,
.babka-guide-hero > p {
	max-width: 720px;
	color: var(--babka-muted);
	font-size: 1.12rem;
}

.babka-page-hero-image {
	overflow: hidden;
	border-radius: var(--babka-radius);
	box-shadow: var(--babka-shadow);
}

.babka-page-hero-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.babka-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 24px;
	color: var(--babka-muted);
	font-size: 0.9rem;
}

.babka-breadcrumbs a {
	color: var(--babka-muted);
	text-decoration: none;
}

.babka-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.babka-filter-chips span {
	padding: 8px 12px;
	border: 1px solid var(--babka-border);
	border-radius: 999px;
	background: #fff;
	font-size: 0.88rem;
	font-weight: 700;
}

.babka-product-section {
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: 24px;
}

.babka-product-section h2 {
	font-size: 2.8rem;
}

.babka-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 22px;
}

.babka-product-card {
	overflow: hidden;
}

.babka-product-card > div {
	padding: 16px;
}

.babka-product-image {
	display: block;
	background: var(--babka-stone);
}

.babka-product-image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.babka-product-price {
	margin-top: 8px;
	font-weight: 800;
	color: var(--babka-walnut);
}

.babka-product-empty {
	margin-top: 22px;
	padding: clamp(22px, 4vw, 36px);
	max-width: 760px;
}

.babka-guidance-list {
	display: grid;
	gap: 14px;
}

.babka-guidance-list section {
	padding: 20px;
}

.babka-guidance-list h3 {
	margin: 0;
	font-size: 1.1rem;
}

.babka-link-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.babka-link-list a {
	padding: 11px 14px;
	border: 1px solid var(--babka-border);
	border-radius: 999px;
	background: #fff;
	text-decoration: none;
	font-weight: 800;
}

.babka-guide-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.babka-guide-list a {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border: 1px solid var(--babka-border);
	border-radius: var(--babka-radius);
	background: #fff;
	text-decoration: none;
}

.babka-guide-list span {
	font-weight: 850;
}

.babka-guide-list small {
	color: var(--babka-muted);
	font-size: 0.92rem;
}

.babka-faq {
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: clamp(44px, 7vw, 86px) 24px;
}

.babka-faq h2 {
	margin: 0 0 24px;
	font-size: 3.3rem;
}

.babka-faq-list {
	display: grid;
	gap: 10px;
}

.babka-faq details {
	background: #fff;
	border: 1px solid var(--babka-border);
	border-radius: var(--babka-radius);
	padding: 16px 18px;
}

.babka-faq summary {
	cursor: pointer;
	font-weight: 850;
}

.babka-faq p {
	margin: 12px 0 0;
	color: var(--babka-muted);
}

.babka-cta-band {
	background: var(--babka-ink);
	color: #fff;
	border-radius: var(--babka-radius);
	margin-block: clamp(44px, 7vw, 86px);
}

.babka-cta-band h2 {
	color: #fffaf0;
}

.babka-cta-band p,
.babka-cta-band .babka-section-kicker,
.babka-cta-band .babka-form-note {
	color: rgba(255, 255, 255, 0.78);
}

.babka-waitlist {
	display: grid;
	gap: 10px;
}

.babka-waitlist label {
	font-weight: 850;
}

.babka-waitlist-row {
	display: flex;
	gap: 8px;
}

.babka-waitlist input {
	min-width: 0;
	flex: 1;
	border: 1px solid var(--babka-border);
	border-radius: 999px;
	padding: 12px 14px;
}

.babka-waitlist button {
	border: 1px solid var(--babka-brass);
	border-radius: 999px;
	background: var(--babka-brass);
	color: #1d160c;
	font-weight: 850;
	padding: 12px 16px;
	cursor: pointer;
	white-space: nowrap;
}

.babka-form-note {
	margin: 0;
	color: var(--babka-muted);
	font-size: 0.92rem;
}

.babka-standard-hero,
.babka-guide-hero {
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(46px, 8vw, 96px) 24px 34px;
	text-align: left;
}

.babka-content {
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: 0 24px clamp(56px, 8vw, 100px);
}

.babka-content > * {
	max-width: 820px;
}

.babka-content .babka-card-grid {
	max-width: none;
	margin-top: 28px;
}

.babka-guide-answer {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 24px 32px;
}

.babka-guide-answer h2 {
	font-size: 2.65rem;
	line-height: 1.08;
}

.babka-updated {
	color: var(--babka-muted);
	font-size: 0.92rem;
	font-weight: 800;
}

.babka-step-list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding-left: 1.2rem;
	font-size: 1.08rem;
}

.babka-step-list li {
	padding-left: 8px;
}

.babka-post-list {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 24px 80px;
	display: grid;
	gap: 16px;
}

.babka-post-card {
	padding: 22px;
}

.babka-woocommerce-content {
	padding: 0 24px 80px;
}

.babka-site-footer {
	background: #e8eef8;
	border-top: 1px solid var(--babka-border);
}

.babka-footer-inner {
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: clamp(44px, 7vw, 78px) 24px;
	display: grid;
	grid-template-columns: 1.1fr 0.75fr 0.75fr 1fr;
	gap: 28px;
}

.babka-footer-brand p,
.babka-footer-links,
.babka-footer-signup {
	color: var(--babka-muted);
}

.babka-footer-links h2 {
	margin-bottom: 14px;
	font-size: 1.1rem;
	font-family: inherit;
}

.babka-footer-links .babka-link-list,
.babka-footer-menu {
	display: grid;
	gap: 8px;
}

.babka-footer-links .babka-link-list a {
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	font-weight: 700;
}

.babka-footer-bottom {
	max-width: var(--babka-max);
	margin: 0 auto;
	padding: 18px 24px 28px;
	color: var(--babka-muted);
	font-size: 0.9rem;
	border-top: 1px solid var(--babka-border);
}

@media (max-width: 1060px) {
	.babka-brand-mark {
		font-size: 1.75rem;
	}

	.babka-hero h1 {
		font-size: 5rem;
	}

	.babka-section h2,
	.babka-band h2,
	.babka-cta-band h2 {
		font-size: 3rem;
	}

	.babka-page-hero-copy h1,
	.babka-standard-hero h1,
	.babka-guide-hero h1 {
		font-size: 4rem;
	}

	.babka-header-inner {
		grid-template-columns: auto auto;
		justify-content: space-between;
	}

	.babka-menu-toggle {
		display: inline-flex;
	}

	.babka-primary-nav,
	.babka-header-actions {
		grid-column: 1 / -1;
		display: none;
	}

	.babka-primary-nav.is-open,
	.babka-header-actions.is-open {
		display: block;
	}

	.babka-menu {
		display: grid;
		gap: 12px;
		padding: 16px 0 0;
	}

	.babka-header-actions {
		padding-top: 14px;
	}

	.babka-search {
		width: 100%;
		margin-bottom: 10px;
	}

	.babka-card-grid,
	.babka-card-grid--guides,
	.babka-product-grid,
	.babka-guide-list,
	.babka-footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.babka-hero-content {
		transform: none;
	}
}

@media (max-width: 760px) {
	.babka-topbar {
		font-size: 0.78rem;
	}

	.babka-header-inner {
		padding: 14px 18px;
	}

	.babka-hero {
		min-height: 74vh;
	}

	.babka-hero::after {
		background: linear-gradient(180deg, rgba(8, 15, 35, 0.28), rgba(8, 15, 35, 0.92));
	}

	.babka-hero-content {
		padding: 72px 0 54px;
	}

	.babka-hero h1 {
		font-size: 3.5rem;
	}

	.babka-hero p:not(.babka-eyebrow) {
		font-size: 1.05rem;
	}

	.babka-section h2,
	.babka-band h2,
	.babka-cta-band h2,
	.babka-faq h2 {
		font-size: 2.35rem;
	}

	.babka-page-hero-copy h1,
	.babka-standard-hero h1,
	.babka-guide-hero h1 {
		font-size: 2.85rem;
	}

	.babka-product-section h2,
	.babka-guide-answer h2 {
		font-size: 2rem;
	}

	.babka-section-head,
	.babka-section--split,
	.babka-band-inner,
	.babka-cta-band,
	.babka-page-hero,
	.babka-need-grid,
	.babka-proof-grid,
	.babka-card-grid,
	.babka-card-grid--guides,
	.babka-product-grid,
	.babka-guide-list,
	.babka-footer-inner {
		grid-template-columns: 1fr;
	}

	.babka-section,
	.babka-band-inner,
	.babka-cta-band,
	.babka-page,
	.babka-page-hero,
	.babka-product-section,
	.babka-faq,
	.babka-content,
	.babka-standard-hero,
	.babka-guide-hero,
	.babka-guide-answer {
		padding-left: 18px;
		padding-right: 18px;
	}

	.babka-page-hero {
		padding-top: 42px;
	}

	.babka-waitlist-row,
	.babka-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.babka-button,
	.babka-secondary-link,
	.babka-waitlist button {
		width: 100%;
	}
}
