/* buymarobrain.com - Catalogue Ink */
:root {
	--paper: #f3efe4;
	--card: #fffdf4;
	--ink: #26244f;
	--ink-soft: #4a4870;
	--indigo: #33308a;
	--indigo-deep: #262363;
	--tint: #e9e6f6;
	--mark: #efb61c;
	--mark-soft: #fbedc4;
	--rule: #cdc7b4;
	--good: #2f6b46;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	background: var(--paper);
	color: var(--ink);
	font-family: "Amaranth", sans-serif;
	font-size: 1.06rem;
	line-height: 1.62;
}
img { max-width: 100%; height: auto; }
h1, h2, h3, .price-slab, .step-num, .tl-day { font-family: "Kreon", serif; }
h1 { font-size: clamp(1.9rem, 4.2vw, 2.7rem); line-height: 1.18; }
h2 { font-size: clamp(1.4rem, 3vw, 1.85rem); line-height: 1.25; }
h3 { font-size: 1.12rem; }
a { color: var(--indigo); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--mark); outline-offset: 2px; }
.container { max-width: 1060px; margin: 0 auto; padding: 0 20px; }
.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.skip-link {
	position: absolute;
	left: -999px;
	top: 8px;
	z-index: 60;
	padding: 8px 14px;
	background: var(--ink);
	color: var(--card);
}
.skip-link:focus { left: 8px; }

/* header */
.site-head {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--card);
	border-bottom: 2px solid var(--ink);
}
.head-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 12px;
	padding-bottom: 12px;
	position: relative;
}
.wordmark {
	font-family: "Kreon", serif;
	font-weight: 700;
	font-size: 1.45rem;
	letter-spacing: .02em;
	color: var(--ink);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}
.tagline {
	font-family: "Amaranth", sans-serif;
	font-size: .68rem;
	font-weight: 400;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.site-nav ul {
	display: flex;
	align-items: center;
	gap: 20px;
	list-style: none;
}
.site-nav a {
	color: var(--ink);
	text-decoration: none;
	font-weight: 700;
	font-size: .98rem;
}
.site-nav a:hover, .site-nav a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.nav-cta {
	display: inline-block;
	padding: 9px 16px;
	border: 2px solid var(--ink);
	background: var(--indigo);
	color: var(--card) !important;
	border-radius: 3px;
}
.nav-cta:hover { background: var(--indigo-deep); text-decoration: none !important; }
.nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	border: 2px solid var(--ink);
	background: var(--card);
	border-radius: 3px;
	cursor: pointer;
}
.nav-toggle span:not(.sr-only) {
	width: 22px; height: 2px;
	background: var(--ink);
}

/* rate strip (in-flow, no JS) */
.rate-strip {
	background: var(--indigo-deep);
	color: #eceafc;
	text-align: center;
	padding: 9px 16px;
	font-size: .95rem;
}
.rate-strip strong { color: var(--mark); }
.rate-strip a { color: #eceafc; text-underline-offset: 3px; }

/* hero */
.hero { padding: 44px 0 30px; }
.hero-grid {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	gap: 36px;
	align-items: center;
}
.hero-copy { min-width: 0; }
.kicker {
	display: inline-block;
	margin-bottom: 14px;
	padding: 3px 10px;
	background: var(--mark);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.lead {
	margin: 18px 0 20px;
	font-size: 1.13rem;
	font-weight: 600;
	border-left: 4px solid var(--indigo);
	padding-left: 14px;
}
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; list-style: none; }
.chip {
	padding: 6px 12px;
	border: 1.5px solid var(--ink);
	background: var(--card);
	border-radius: 999px;
	font-size: .85rem;
	font-weight: 700;
}
.btn {
	display: inline-block;
	padding: 13px 26px;
	border: 2px solid var(--ink);
	border-radius: 3px;
	background: var(--indigo);
	color: var(--card);
	font-family: "Kreon", serif;
	font-weight: 700;
	font-size: 1.05rem;
	text-decoration: none;
}
.btn:hover { background: var(--indigo-deep); }
.btn-big { font-size: 1.2rem; padding: 15px 32px; }
.hero-art { text-align: center; }
.hero-art img {
	border: 2px solid var(--ink);
	border-radius: 4px;
	background: var(--card);
	padding: 18px;
}

/* sections */
.section { padding: 34px 0; border-top: 2px solid var(--rule); }
.section-alt { background: var(--tint); }
.section-head { margin-bottom: 18px; }
.sub { color: var(--ink-soft); max-width: 62ch; margin-top: 6px; }
.updated { font-size: .85rem; color: var(--ink-soft); margin-top: 10px; }

/* order steps */
.steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	list-style: none;
	counter-reset: step;
}
.step {
	background: var(--card);
	border: 2px solid var(--ink);
	border-radius: 4px;
	padding: 18px;
}
.step-num {
	display: inline-block;
	width: 40px; height: 40px;
	margin-bottom: 10px;
	background: var(--mark);
	border: 2px solid var(--ink);
	border-radius: 3px;
	text-align: center;
	line-height: 36px;
	font-size: 1.3rem;
	font-weight: 700;
}

/* package table */
.order-table-wrap { margin-top: 6px; }
.order-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--card);
	border: 2px solid var(--ink);
}
.order-table caption {
	caption-side: top;
	text-align: left;
	padding: 0 0 10px;
	font-size: .95rem;
	color: var(--ink-soft);
}
.order-table thead th {
	background: var(--ink);
	color: var(--card);
	font-family: "Amaranth", sans-serif;
	font-size: .8rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 10px 12px;
	text-align: left;
}
.order-table td, .order-table tbody th {
	padding: 16px 12px;
	border-top: 1px solid var(--rule);
	vertical-align: middle;
	text-align: left;
}
.pack-name { font-weight: 700; font-size: 1.05rem; }
.item-code {
	display: inline-block;
	margin-top: 4px;
	font-size: .74rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.mini-stack { display: flex; gap: 2px; margin-top: 8px; }
.mini-stack img { border: 0; padding: 0; }
.price-slab { font-size: 1.55rem; font-weight: 700; }
.per-label { display: block; font-size: .78rem; color: var(--ink-soft); }
.was { color: var(--ink-soft); }
.save-flag {
	display: inline-block;
	padding: 3px 9px;
	background: var(--mark);
	border: 1.5px solid var(--ink);
	font-weight: 700;
	font-size: .88rem;
	white-space: nowrap;
}
.ship-cell { font-size: .92rem; }
.ship-free { color: var(--good); font-weight: 700; }
.row-best { background: var(--mark-soft); }
.row-best td, .row-best th { border-top: 3px double var(--ink); border-bottom: 3px double var(--ink); }
.best-badge {
	display: inline-block;
	margin-bottom: 6px;
	padding: 2px 8px;
	background: var(--ink);
	color: var(--mark);
	font-size: .74rem;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.cta-cell .btn { white-space: nowrap; padding: 12px 18px; font-size: .98rem; }
.table-note { margin-top: 14px; font-size: .92rem; color: var(--ink-soft); max-width: 74ch; }

/* callout + facts + short answer */
.callout {
	margin-top: 20px;
	padding: 16px 18px;
	background: var(--card);
	border: 2px dashed var(--indigo);
	border-radius: 4px;
	max-width: 66ch;
}
.facts {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 34px;
	background: var(--card);
	border: 2px solid var(--ink);
	border-radius: 4px;
	padding: 10px 22px;
}
.facts div {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 10px 0;
	border-bottom: 1px solid var(--rule);
}
.facts div:nth-last-child(-n+2) { border-bottom: 0; }
.facts dt {
	font-size: .8rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink-soft);
	align-self: center;
}
.facts dd { font-weight: 700; text-align: right; }
.short-answer {
	max-width: 70ch;
	font-size: 1.08rem;
}

/* box + brief */
.box-list { list-style: none; max-width: 70ch; }
.box-list li {
	padding: 10px 0 10px 34px;
	position: relative;
	border-bottom: 1px solid var(--rule);
}
.box-list li::before {
	content: "\2713";
	position: absolute;
	left: 4px;
	color: var(--good);
	font-weight: 700;
}
.brief-list { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.brief-list li {
	background: var(--card);
	border: 1.5px solid var(--ink);
	border-radius: 4px;
	padding: 12px 14px;
	font-size: .96rem;
}
.refmark { font-size: .78rem; }
.refmark a { text-decoration: none; }
.brief-note { margin-top: 14px; max-width: 74ch; }

/* proof band */
.proof-band { display: flex; flex-wrap: wrap; gap: 14px 30px; align-items: baseline; margin-bottom: 18px; }
.proof-stat { font-family: "Kreon", serif; font-size: 1.5rem; font-weight: 700; }
.proof-cap { font-size: .9rem; color: var(--ink-soft); }
.quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.quote {
	background: var(--card);
	border: 1.5px solid var(--ink);
	border-radius: 4px;
	padding: 16px;
	font-size: .96rem;
}
.quote-meta { margin-top: 10px; font-size: .85rem; color: var(--ink-soft); font-style: normal; }
.verified {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 7px;
	background: var(--tint);
	border: 1px solid var(--indigo);
	border-radius: 999px;
	font-size: .72rem;
	color: var(--indigo);
}

/* timeline */
.timeline {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	list-style: none;
	counter-reset: tl;
}
.tl-step {
	background: var(--card);
	border: 1.5px solid var(--ink);
	border-radius: 4px;
	padding: 14px;
	font-size: .94rem;
}
.tl-day {
	display: inline-block;
	margin-bottom: 8px;
	padding: 2px 10px;
	background: var(--ink);
	color: var(--mark);
	font-size: .9rem;
	font-weight: 700;
}

/* q&a */
.qa-list { max-width: 76ch; }
.qa-item { padding: 16px 0; border-bottom: 1px solid var(--rule); }
.qa-item h3 { margin-bottom: 6px; }

/* final cta + takeaways + references */
.final-cta {
	text-align: center;
	background: var(--ink);
	color: var(--paper);
	padding: 44px 20px;
}
.final-cta h2 { color: var(--card); margin-bottom: 8px; }
.final-cta p { max-width: 60ch; margin: 0 auto 20px; }
.final-cta .btn { background: var(--mark); color: var(--ink); border-color: var(--mark); }
.final-cta .btn:hover { background: #f6c94a; }
.final-badges { margin-top: 16px; font-size: .88rem; color: #cfcbe8; }
.takeaways { list-style: none; max-width: 74ch; }
.takeaways li { padding: 8px 0 8px 30px; position: relative; }
.takeaways li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 15px;
	width: 12px; height: 12px;
	background: var(--mark);
	border: 1.5px solid var(--ink);
}
.references { font-size: .92rem; }
.ref-list { padding-left: 22px; max-width: 80ch; }
.ref-list li { margin-bottom: 8px; overflow-wrap: anywhere; }

/* footer */
.site-foot {
	background: var(--indigo-deep);
	color: #d9d6ef;
	padding: 40px 0 26px;
	margin-top: 40px;
	font-size: .95rem;
}
.site-foot a { color: #f0eefb; }
.foot-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 28px;
	margin-bottom: 26px;
}
.foot-col ul { list-style: none; }
.foot-col li { margin-bottom: 7px; }
.foot-mark { font-family: "Kreon", serif; font-size: 1.3rem; font-weight: 700; color: var(--card); margin-bottom: 8px; }
.foot-h {
	font-family: "Amaranth", sans-serif;
	font-size: .8rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mark);
	margin-bottom: 10px;
}
.foot-firm { margin-top: 12px; font-size: .88rem; }
.foot-about p { margin-bottom: 6px; }
.pay-line { border-top: 1px solid #4c4988; padding-top: 16px; font-size: .85rem; }
.legal-line { margin-top: 10px; font-size: .8rem; color: #b6b2d8; }

/* subpages */
.page-head { padding: 40px 0 8px; }
.prose { max-width: 76ch; }
.prose h2 { margin: 28px 0 10px; }
.prose h3 { margin: 20px 0 8px; }
.prose p, .prose ul, .prose ol { margin-bottom: 14px; }
.prose ul, .prose ol { padding-left: 24px; }
.prose table { width: 100%; border-collapse: collapse; background: var(--card); border: 2px solid var(--ink); margin-bottom: 14px; }
.prose table th, .prose table td { padding: 10px 12px; border: 1px solid var(--rule); text-align: left; font-size: .95rem; }
.prose table thead th { background: var(--ink); color: var(--card); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; border: 0; }
.byline { font-size: .9rem; color: var(--ink-soft); margin-top: 8px; }
.faq-group { margin-bottom: 26px; }
.faq-item {
	background: var(--card);
	border: 1.5px solid var(--ink);
	border-radius: 4px;
	margin-bottom: 10px;
}
.faq-item summary {
	padding: 13px 16px;
	font-weight: 700;
	cursor: pointer;
	list-style-position: inside;
}
.faq-item div { padding: 0 16px 14px; }
.contact-card {
	background: var(--card);
	border: 2px solid var(--ink);
	border-radius: 4px;
	padding: 18px 20px;
	max-width: 56ch;
}
.contact-card p { margin-bottom: 8px; }
.oops { text-align: center; padding: 70px 20px; }
.oops h1 { margin-bottom: 12px; }
.oops ul { list-style: none; margin-top: 18px; }
.oops li { margin-bottom: 8px; }

/* responsive */
@media (max-width: 900px) {
	.hero-grid { grid-template-columns: 1fr; }
	.hero-art { order: -1; }
	.hero-art img { max-width: 240px; }
	.steps, .quote-grid { grid-template-columns: 1fr; }
	.timeline { grid-template-columns: repeat(2, 1fr); }
	.brief-list { grid-template-columns: 1fr; }
	.facts { grid-template-columns: 1fr; }
	.facts div:nth-last-child(-n+2) { border-bottom: 1px solid var(--rule); }
	.facts div:last-child { border-bottom: 0; }
	.foot-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 880px) {
	.nav-toggle { display: flex; }
	.site-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--card);
		border-bottom: 2px solid var(--ink);
		visibility: hidden;
		opacity: 0;
		transition: opacity .2s, visibility 0s linear .2s;
	}
	.site-nav.open { visibility: visible; opacity: 1; transition: opacity .2s; }
	.site-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 16px; }
	.site-nav li { border-bottom: 1px solid var(--rule); }
	.site-nav li:last-child { border-bottom: 0; padding-top: 10px; }
	.site-nav a { display: block; padding: 12px 0; }
}
@media (max-width: 760px) {
	.order-table thead { display: none; }
	.order-table, .order-table tbody, .order-table tr, .order-table td, .order-table tbody th { display: block; }
	.order-table { border: 0; background: none; }
	.order-table tr {
		background: var(--card);
		border: 2px solid var(--ink);
		border-radius: 4px;
		margin-bottom: 14px;
		padding: 6px 0;
	}
	.order-table tr.row-best { border: 3px double var(--ink); background: var(--mark-soft); }
	.row-best td, .row-best th { border-top: 0; border-bottom: 0; }
	.order-table td, .order-table tbody th { border-top: 0; padding: 9px 16px; }
	.order-table td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .72rem;
		letter-spacing: .14em;
		text-transform: uppercase;
		color: var(--ink-soft);
		margin-bottom: 2px;
	}
	.cta-cell .btn { display: block; text-align: center; white-space: normal; }
	.timeline { grid-template-columns: 1fr; }
	.foot-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.site-nav { transition: none; }
}
