/* Craft of Growth Tools – scoped styles. Inherits the theme's font. */

.cog-tool {
	--cog-ink: #18222e;
	--cog-muted: #5b6875;
	--cog-line: #d6dee5;
	--cog-surface: #f2f6f8;
	--cog-paper: #ffffff;
	--cog-accent: #0e6e6a;
	--cog-accent-ink: #ffffff;
	--cog-pass: #1f7a4d;
	--cog-pass-bg: #e3f2e9;
	--cog-warn: #8f5d00;
	--cog-warn-bg: #fbefd6;
	--cog-fail: #b3372f;
	--cog-fail-bg: #fbe5e2;
	--cog-info: #3d5a73;
	--cog-info-bg: #e7eef4;
	--cog-radius: 6px;
	color: var(--cog-ink);
	font-size: 1rem;
	line-height: 1.55;
	font-variant-numeric: tabular-nums;
	margin: 0 0 2em;
}
.cog-tool *, .cog-tool *::before, .cog-tool *::after { box-sizing: border-box; }
.cog-tool p { margin: 0; }
.cog-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cog-muted { color: var(--cog-muted); font-size: .9em; }

.cog-fg--pass { color: var(--cog-pass); }
.cog-fg--warn { color: var(--cog-warn); }
.cog-fg--fail { color: var(--cog-fail); }
.cog-fg--info { color: var(--cog-info); }
.cog-bg--pass { background: var(--cog-pass); color: #fff; }
.cog-bg--warn { background: #c88a12; color: #fff; }
.cog-bg--fail { background: var(--cog-fail); color: #fff; }

/* Icons */
.cog-icon { width: 1.15em; height: 1.15em; flex: none; border-radius: 50%; padding: .1em; }
.cog-icon path { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.cog-icon--pass { color: var(--cog-pass); background: var(--cog-pass-bg); }
.cog-icon--warn { color: var(--cog-warn); background: var(--cog-warn-bg); }
.cog-icon--fail { color: var(--cog-fail); background: var(--cog-fail-bg); }
.cog-icon--info { color: var(--cog-info); background: var(--cog-info-bg); }

/* ---------- Form ---------- */
.cog-air__form {
	background: var(--cog-surface);
	border: 1px solid var(--cog-line);
	border-radius: var(--cog-radius);
	padding: 1.25rem;
}
.cog-air__label { display: block; font-weight: 600; margin: 0 0 .4rem; }
.cog-air__row { display: flex; gap: .5rem; }
.cog-air .cog-air__input {
	flex: 1 1 auto;
	min-width: 0;
	font: inherit;
	font-size: 1.05rem;
	color: var(--cog-ink);
	background: var(--cog-paper);
	border: 1px solid #aebbc6;
	border-radius: var(--cog-radius);
	padding: .7rem .85rem;
	margin: 0;
	box-shadow: none;
}
.cog-air .cog-air__input:focus { outline: 2px solid var(--cog-accent); outline-offset: 1px; border-color: var(--cog-accent); }
.cog-air .cog-air__button {
	flex: none;
	font: inherit;
	font-weight: 600;
	font-size: 1rem;
	color: var(--cog-accent-ink);
	background: var(--cog-accent);
	border: 0;
	border-radius: var(--cog-radius);
	padding: .7rem 1.3rem;
	margin: 0;
	cursor: pointer;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: normal;
}
.cog-air .cog-air__button:hover { background: #0a5753; }
.cog-air .cog-air__button:focus-visible { outline: 2px solid var(--cog-ink); outline-offset: 2px; }
.cog-air .cog-air__button[disabled] { opacity: .75; cursor: progress; }
.cog-air__hint { margin-top: .6rem !important; font-size: .88rem; color: var(--cog-muted); }

.cog-air__status { min-height: 1.6em; margin: .75rem 0 0 !important; font-size: .95rem; color: var(--cog-muted); }
.cog-air.is-loading .cog-air__status::before {
	content: "";
	display: inline-block;
	width: .8em; height: .8em;
	margin-right: .5em;
	vertical-align: -.05em;
	border: 2px solid var(--cog-line);
	border-top-color: var(--cog-accent);
	border-radius: 50%;
	animation: cog-spin .8s linear infinite;
}
.cog-air__status.is-error { color: var(--cog-fail); font-weight: 600; }
@keyframes cog-spin { to { transform: rotate(360deg); } }
.cog-air__result:focus { outline: none; }

/* ---------- Summary ---------- */
.cog-summary {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.5rem;
	align-items: start;
	margin-top: 1.5rem;
	padding: 1.5rem;
	border: 1px solid var(--cog-line);
	border-top: 4px solid var(--cog-line);
	border-radius: var(--cog-radius);
	background: var(--cog-paper);
}
.cog-summary--pass { border-top-color: var(--cog-pass); }
.cog-summary--warn { border-top-color: #c88a12; }
.cog-summary--fail { border-top-color: var(--cog-fail); }
.cog-score { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: .15rem; }
.cog-score__num { font-size: 4.25rem; line-height: 1; font-weight: 700; letter-spacing: -.03em; }
.cog-score__of { font-size: 1.1rem; color: var(--cog-muted); }
.cog-score__grade {
	grid-column: 1 / -1;
	justify-self: start;
	margin-top: .6rem;
	font-weight: 700;
	font-size: .95rem;
	padding: .15rem .6rem;
	border-radius: 4px;
}
.cog-tool .cog-summary__title { font-size: 1.15rem; line-height: 1.35; margin: .2rem 0 .4rem; font-weight: 600; }
.cog-summary__title:focus { outline: none; }
.cog-summary__url { word-break: break-all; color: var(--cog-accent); }
.cog-summary__verdict { font-size: 1.05rem; }
.cog-summary__cap { margin-top: .5rem !important; color: var(--cog-fail); font-weight: 600; font-size: .92rem; }
.cog-meter { height: 8px; background: var(--cog-surface); border-radius: 4px; overflow: hidden; margin: 1rem 0 .85rem; }
.cog-meter__fill { display: block; height: 100%; border-radius: 4px; }
.cog-tool .cog-counts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; font-size: .92rem; }
.cog-count { display: inline-flex; align-items: center; gap: .35rem; margin: 0; }

/* ---------- Blocks ---------- */
.cog-block { margin-top: 2rem; }
.cog-tool .cog-block__title { font-size: 1.2rem; margin: 0 0 .6rem; font-weight: 600; }

/* Fixes – a real priority order, so numbered */
.cog-tool .cog-fixes__list { list-style: none; counter-reset: cogfix; margin: 0; padding: 0; }
.cog-fix {
	counter-increment: cogfix;
	position: relative;
	padding: .85rem 0 .85rem 2.4rem;
	border-top: 1px solid var(--cog-line);
	margin: 0;
}
.cog-fix:last-child { border-bottom: 1px solid var(--cog-line); }
.cog-fix::before {
	content: counter(cogfix);
	position: absolute; left: 0; top: .85rem;
	width: 1.65rem; height: 1.65rem;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--cog-ink); color: #fff;
	font-size: .85rem; font-weight: 700;
}
.cog-fix__head { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; }
.cog-fix__text { margin-top: .25rem !important; color: #33414e; }
.cog-tag { font-size: .78rem; font-weight: 600; padding: .1rem .5rem; border-radius: 999px; white-space: nowrap; }
.cog-tag--high { background: var(--cog-fail-bg); color: var(--cog-fail); }
.cog-tag--medium { background: var(--cog-warn-bg); color: var(--cog-warn); }
.cog-tag--low { background: var(--cog-info-bg); color: var(--cog-info); }
.cog-fixes .cog-muted { margin-top: .5rem; }

/* ---------- Crawler grid (the signature element) ---------- */
.cog-crawlers > .cog-muted { margin-bottom: .8rem; }
.cog-grid__wrap { border: 1px solid var(--cog-line); border-radius: var(--cog-radius); overflow: hidden; }
.cog-tool table.cog-grid { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: .9rem; background: var(--cog-paper); table-layout: fixed; }
.cog-tool .cog-grid th, .cog-tool .cog-grid td { border: 0; border-bottom: 1px solid var(--cog-line); padding: .6rem .55rem; text-align: left; vertical-align: top; background: transparent; }
.cog-tool .cog-grid thead th { background: var(--cog-surface); font-weight: 600; font-size: .82rem; color: var(--cog-muted); }
.cog-tool .cog-grid tbody tr:last-child th, .cog-tool .cog-grid tbody tr:last-child td { border-bottom: 0; }
.cog-tool .cog-grid thead th:first-child { width: 25%; }
.cog-grid__co { font-weight: 400; }
.cog-grid__company { display: block; font-weight: 600; }
.cog-grid__product { display: block; font-size: .8rem; color: var(--cog-muted); }
.cog-grid__cell { display: table-cell; }
.cog-pill {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: .35rem;
	padding: .35rem .45rem;
	border-radius: 4px;
	margin: 0 0 .3rem;
	cursor: help;
	min-width: 0;
}
.cog-pill:last-child { margin-bottom: 0; }
.cog-pill--allowed { background: var(--cog-pass-bg); }
.cog-pill--blocked { background: var(--cog-fail-bg); }
.cog-pill--optout { background: var(--cog-info-bg); }
.cog-pill__token { font-weight: 600; font-size: .82rem; line-height: 1.25; word-break: normal; overflow-wrap: normal; hyphens: none; min-width: 0; }
.cog-pill__state { grid-column: 2; font-size: .75rem; line-height: 1.2; color: var(--cog-muted); }
.cog-pill--blocked .cog-pill__state { color: var(--cog-fail); font-weight: 600; }

.cog-live { margin-top: .9rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: .9rem; }
.cog-live__title { font-weight: 600; }
.cog-tool .cog-live__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.cog-live__item { display: inline-flex; align-items: center; gap: .3rem; margin: 0; }
.cog-live__item.is-bad { color: var(--cog-fail); font-weight: 600; }

/* ---------- Full report ---------- */
.cog-section { border: 1px solid var(--cog-line); border-radius: var(--cog-radius); margin: 0 0 .6rem; background: var(--cog-paper); }
.cog-section__summary {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	padding: .85rem 1rem;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}
.cog-section__summary::-webkit-details-marker { display: none; }
.cog-section__summary::before {
	content: ""; flex: none;
	width: .55em; height: .55em;
	border-right: 2px solid var(--cog-muted); border-bottom: 2px solid var(--cog-muted);
	transform: rotate(-45deg);
	transition: transform .15s ease;
}
.cog-section[open] > .cog-section__summary::before { transform: rotate(45deg); }
.cog-section__summary:focus-visible { outline: 2px solid var(--cog-accent); outline-offset: -2px; }
.cog-section__name { flex: 1 1 auto; }
.cog-section__score { font-size: .9rem; }
.cog-tool .cog-checks { list-style: none; margin: 0; padding: 0 1rem .4rem; }
.cog-check { display: flex; gap: .65rem; padding: .7rem 0; border-top: 1px solid var(--cog-line); margin: 0; }
.cog-check .cog-icon { margin-top: .15em; }
.cog-check__label { font-weight: 600; }
.cog-check__detail { color: #33414e; font-size: .93rem; overflow-wrap: anywhere; }
.cog-check__fix { margin-top: .3rem !important; font-size: .93rem; padding: .45rem .6rem; background: var(--cog-surface); border-radius: 4px; }

/* ---------- CTA + actions ---------- */
.cog-cta {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; flex-wrap: wrap;
	margin-top: 2rem; padding: 1.25rem 1.5rem;
	background: var(--cog-ink); color: #fff;
	border-radius: var(--cog-radius);
}
.cog-cta__title { font-weight: 700; font-size: 1.1rem; }
.cog-cta__text { color: #c9d4dd; font-size: .95rem; }
.cog-tool a.cog-cta__button {
	flex: none;
	background: #fff; color: var(--cog-ink);
	font-weight: 600; text-decoration: none;
	padding: .65rem 1.1rem; border-radius: var(--cog-radius);
}
.cog-tool a.cog-cta__button:hover { background: #dff0ee; }
.cog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin-top: 1.5rem; }
.cog-tool .cog-link-button {
	font: inherit; font-size: .95rem; font-weight: 600;
	background: none; border: 0; padding: 0; margin: 0;
	color: var(--cog-accent); text-decoration: underline; text-underline-offset: 3px;
	cursor: pointer;
}
.cog-actions__meta { margin-left: auto; }

/* ---------- FAQ ---------- */
.cog-tool .cog-faq__title { margin: 0 0 .75rem; }
.cog-faq__item { border-top: 1px solid var(--cog-line, #d6dee5); }
.cog-faq__item:last-child { border-bottom: 1px solid var(--cog-line, #d6dee5); }
.cog-faq__q { cursor: pointer; padding: .9rem 0; font-weight: 600; list-style: none; display: flex; gap: .75rem; align-items: baseline; }
.cog-faq__q::-webkit-details-marker { display: none; }
.cog-faq__q::before {
	content: ""; flex: none; position: relative; top: -.1em;
	width: .5em; height: .5em;
	border-right: 2px solid var(--cog-accent); border-bottom: 2px solid var(--cog-accent);
	transform: rotate(-45deg); transition: transform .15s ease;
}
.cog-faq__item[open] > .cog-faq__q::before { transform: rotate(45deg); }
.cog-faq__a { padding-left: 1.25rem !important; }
.cog-faq__q:focus-visible { outline: 2px solid var(--cog-accent); outline-offset: 2px; }
.cog-faq__a { padding: 0 0 1rem; color: #33414e; max-width: 70ch; }

/* ---------- Latest posts ---------- */
.cog-posts__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.cog-tool .cog-posts__title { margin: 0; }
.cog-tool a.cog-posts__more { color: var(--cog-accent); font-weight: 600; white-space: nowrap; }
.cog-tool .cog-posts__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.cog-posts__item { margin: 0; }
.cog-tool a.cog-posts__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; border-top: 3px solid var(--cog-ink); padding-top: .75rem; }
.cog-posts__thumb { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; margin-bottom: .65rem; background: var(--cog-surface); }
.cog-posts__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cog-posts__date { display: block; font-size: .82rem; color: var(--cog-muted); }
.cog-posts__name { display: block; font-weight: 700; font-size: 1.08rem; line-height: 1.3; margin: .2rem 0 .35rem; }
.cog-tool a.cog-posts__link:hover .cog-posts__name { color: var(--cog-accent); text-decoration: underline; text-underline-offset: 3px; }
.cog-posts__excerpt { display: block; font-size: .93rem; color: #33414e; }
.cog-posts__empty { color: #5b6875; font-style: italic; }

/* ---------- Small screens ---------- */
@media (max-width: 640px) {
	.cog-air__row { flex-direction: column; }
	.cog-air .cog-air__button { width: 100%; }
	.cog-summary { grid-template-columns: 1fr; gap: .75rem; padding: 1.15rem; }
	.cog-score__num { font-size: 3.4rem; }
	.cog-score { grid-template-columns: auto auto 1fr; }
	.cog-score__grade { grid-column: auto; margin: 0 0 0 .75rem; align-self: center; }
	.cog-tool table.cog-grid, .cog-tool .cog-grid tbody, .cog-tool .cog-grid tr, .cog-tool .cog-grid th, .cog-tool .cog-grid td { display: block; width: auto; }
	.cog-tool .cog-grid thead { display: none; }
	.cog-tool .cog-grid tr { border-bottom: 1px solid var(--cog-line); padding: .4rem 0; }
	.cog-tool .cog-grid tbody tr:last-child { border-bottom: 0; }
	.cog-tool .cog-grid th, .cog-tool .cog-grid td { border: 0; padding: .3rem .8rem; }
	.cog-tool .cog-grid td.is-none { display: none; }
	.cog-tool .cog-grid td::before { content: attr(data-label); display: block; font-size: .75rem; color: var(--cog-muted); margin-bottom: .2rem; }
	.cog-actions__meta { margin-left: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.cog-air.is-loading .cog-air__status::before { animation: none; }
	.cog-faq__q::before { transition: none; }
	.cog-section__summary::before { transition: none; }
}

/* =====================================================================
   Landing layout (homepage)
   ===================================================================== */
.cog-landing-page .wp-site-blocks > main.cog-landing-main,
.cog-landing-page main.cog-landing-main { margin-block-start: 0; margin-top: 0; padding: 0; }
.cog-landing-page .cog-landing-main > .entry-content,
.cog-landing-page .cog-landing-main .wp-block-post-content { margin: 0; padding: 0; max-width: none; }
.cog-landing-page .wp-site-blocks > footer { margin-block-start: 0; }

.cog-landing { margin: 0; }
.cog-wrap { width: 100%; max-width: 1120px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.cog-wrap--text > * { max-width: 720px; }
.cog-landing p + p { margin-top: 1em; }

/* Hero */
.cog-hero {
	background: var(--cog-surface);
	border-bottom: 1px solid var(--cog-line);
	padding: 56px 0 52px;
}
.cog-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	gap: 48px;
	align-items: center;
}
.cog-tool .cog-hero__title {
	font-size: clamp(2.2rem, 4.4vw, 3.35rem);
	line-height: 1.07;
	letter-spacing: -0.015em;
	margin: 0 0 18px;
	max-width: 15ch;
	color: var(--cog-ink);
	font-weight: 600;
}
.cog-hero__intro { font-size: 1.12rem; line-height: 1.55; color: #33414e; max-width: 54ch; margin: 0 0 26px !important; }
.cog-air--hero .cog-air__form { background: var(--cog-paper); border-color: #c4d0da; padding: 18px; }
.cog-air--hero .cog-air__result > .cog-summary { margin-top: 36px; }

/* Example report beside the form */
.cog-preview {
	margin: 0;
	background: var(--cog-paper);
	border: 1px solid var(--cog-line);
	border-radius: var(--cog-radius);
	padding: 18px 18px 14px;
	font-size: .84rem;
}
.cog-preview__head { display: flex; align-items: baseline; gap: 12px; padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--cog-line); }
.cog-preview__score { font-size: 2.4rem; line-height: 1; font-weight: 700; letter-spacing: -.02em; }
.cog-preview__meta { display: inline-flex; align-items: center; gap: 8px; color: var(--cog-muted); font-size: .85rem; }
.cog-preview__grade { background: #c88a12; color: #fff; font-weight: 700; padding: 1px 8px; border-radius: 4px; font-size: .8rem; }
.cog-tool table.cog-preview__table { width: 100%; border-collapse: collapse; margin: 0; border: 0; table-layout: fixed; }
.cog-tool .cog-preview__table th, .cog-tool .cog-preview__table td { border: 0; border-bottom: 1px solid var(--cog-line); padding: 8px 4px; text-align: left; vertical-align: middle; background: transparent; font-size: .84rem; }
.cog-tool .cog-preview__table thead th { color: var(--cog-muted); font-weight: 600; font-size: .76rem; padding-top: 10px; }
.cog-tool .cog-preview__table tbody th { font-weight: 600; width: 34%; }
.cog-tool .cog-preview__table tbody tr:last-child th, .cog-tool .cog-preview__table tbody tr:last-child td { border-bottom: 0; }
.cog-preview .cog-pill { margin: 0; cursor: default; }
.cog-preview__caption { margin-top: 10px; color: var(--cog-muted); font-size: .8rem; }

/* Sections */
.cog-band { padding: 56px 0; border-top: 1px solid var(--cog-line); }
.cog-landing > .cog-band:first-of-type { border-top: 0; }
.cog-tool .cog-h2, .cog-landing .cog-faq__title, .cog-landing .cog-posts__title {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.2;
	margin: 0 0 14px;
	color: var(--cog-ink);
	font-weight: 600;
}
.cog-lede { max-width: 68ch; color: #33414e; margin-bottom: 28px !important; }

.cog-tool .cog-areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 32px; margin: 0; padding: 0; }
.cog-area { border-top: 3px solid var(--cog-ink); padding-top: 12px; }
.cog-tool .cog-area__name { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-weight: 700; font-size: 1.02rem; margin: 0 0 6px; }
.cog-area__pts { font-weight: 600; font-size: .82rem; color: var(--cog-accent); white-space: nowrap; }
.cog-tool .cog-area__desc { margin: 0; color: #33414e; font-size: .95rem; }

.cog-table-wrap { border: 1px solid var(--cog-line); border-radius: var(--cog-radius); overflow-x: auto; }
.cog-tool table.cog-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: .95rem; background: var(--cog-paper); }
.cog-tool .cog-table th, .cog-tool .cog-table td { border: 0; border-bottom: 1px solid var(--cog-line); padding: 11px 14px; text-align: left; vertical-align: top; background: transparent; }
.cog-tool .cog-table thead th { background: var(--cog-surface); color: var(--cog-muted); font-size: .82rem; font-weight: 600; }
.cog-tool .cog-table tbody th { font-weight: 600; white-space: nowrap; }
.cog-tool .cog-table tbody tr:last-child th, .cog-tool .cog-table tbody tr:last-child td { border-bottom: 0; }
.cog-rec { display: inline-block; font-size: .8rem; font-weight: 600; padding: 2px 9px; border-radius: 999px; white-space: nowrap; }
.cog-rec--allow { background: var(--cog-pass-bg); color: var(--cog-pass); }
.cog-rec--choice { background: var(--cog-info-bg); color: var(--cog-info); }

.cog-tool .cog-steps { list-style: none; counter-reset: cogstep; margin: 8px 0 0; padding: 0; }
.cog-steps li { counter-increment: cogstep; position: relative; padding: 12px 0 12px 44px; border-top: 1px solid var(--cog-line); margin: 0; }
.cog-steps li:last-child { border-bottom: 1px solid var(--cog-line); }
.cog-steps li::before {
	content: counter(cogstep);
	position: absolute; left: 0; top: 11px;
	width: 28px; height: 28px; display: grid; place-items: center;
	border-radius: 50%; background: var(--cog-accent); color: #fff; font-weight: 700; font-size: .85rem;
}
.cog-landing .cog-faq, .cog-landing .cog-posts { margin: 0; }
.cog-byline { color: var(--cog-muted); font-size: .88rem; padding: 8px 0 40px; display: flex; flex-wrap: wrap; gap: 4px 10px; }
.cog-byline__author { color: var(--cog-ink); font-weight: 600; }

@media (max-width: 900px) {
	.cog-hero { padding: 36px 0 36px; }
	.cog-hero__grid { grid-template-columns: 1fr; gap: 28px; }
	.cog-tool .cog-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.cog-wrap { padding-left: 16px; padding-right: 16px; }
	.cog-band { padding: 40px 0; }
	.cog-tool .cog-areas { grid-template-columns: 1fr; gap: 22px; }
	.cog-tool .cog-table tbody th { white-space: normal; }
	.cog-preview__caption { display: none; }
	.cog-preview { padding: 14px 12px 10px; }
	.cog-preview .cog-pill { padding: .3rem .35rem; column-gap: .25rem; }
	.cog-preview .cog-pill__token { font-size: .72rem; overflow-wrap: anywhere; }
	.cog-tool .cog-preview__table tbody th { width: 30%; font-size: .8rem; }
}

/* =====================================================================
   Blog: index, archives, single posts
   ===================================================================== */
.cog-blog-page {
	--cog-ink: #18222e; --cog-muted: #5b6875; --cog-line: #d6dee5; --cog-surface: #f2f6f8; --cog-accent: #0e6e6a;
}
.cog-blog-page .wp-site-blocks > main { margin-block-start: 0; }
.cog-blog-page .wp-site-blocks > footer { margin-block-start: 0; }
.cog-blog-wrap { width: 100%; max-width: 1120px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }

/* Index header */
.cog-blog-head { background: var(--cog-surface); border-bottom: 1px solid var(--cog-line); padding: 48px 0 40px; margin: 0; }
.cog-tool .cog-blog-head__title { font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.1; margin: 0 0 10px; color: var(--cog-ink); font-weight: 600; letter-spacing: -0.01em; }
.cog-blog-head__desc { color: #33414e; font-size: 1.08rem; max-width: 60ch; }

/* Index list */
.cog-blog .cog-blog-wrap { padding-top: 16px; padding-bottom: 64px; }
.cog-blog .cog-blog-items { list-style: none; margin: 0; padding: 0; max-width: 760px; }
.cog-blog .cog-blog-items > li { margin: 0; }
.cog-blog .cog-blog-item { padding: 28px 0; border-bottom: 1px solid var(--cog-line); margin: 0; }
.cog-blog .cog-blog-item > * { margin-top: 0; margin-bottom: 0; }
.cog-blog .cog-blog-item__date { color: var(--cog-muted); font-size: .88rem; }
.cog-blog .cog-blog-item__title { font-size: clamp(1.3rem, 2.4vw, 1.6rem); line-height: 1.25; margin: 6px 0 8px !important; font-weight: 600; }
.cog-blog .cog-blog-item__title a { color: var(--cog-ink); text-decoration: none; }
.cog-blog .cog-blog-item__title a:hover { color: var(--cog-accent); text-decoration: underline; text-underline-offset: 4px; }
.cog-blog .cog-blog-item__excerpt p { margin: 0; color: #33414e; font-size: 1rem; line-height: 1.6; }
.cog-blog .cog-blog-pagination { margin-top: 32px; gap: 16px; font-size: .95rem; }
.cog-blog .cog-blog-pagination a { color: var(--cog-accent); }

/* Single article */
.cog-article { padding: 0 24px 24px; }
.cog-article__head { max-width: 760px; margin: 0 auto; padding: 48px 0 8px; }
.cog-article__head > * { margin-top: 0; margin-bottom: 0; }
.cog-article__crumb { font-size: .92rem; margin-bottom: 14px !important; }
.cog-article__crumb a { color: var(--cog-accent); text-decoration: none; font-weight: 600; }
.cog-article__crumb a:hover { text-decoration: underline; }
.cog-article .cog-article__title { font-size: clamp(2rem, 4.2vw, 2.85rem); line-height: 1.12; letter-spacing: -0.01em; color: var(--cog-ink); font-weight: 600; margin-bottom: 14px !important; }
.cog-article__meta { color: var(--cog-muted); font-size: .92rem; display: flex; flex-wrap: wrap; gap: 4px 16px; padding-bottom: 24px; border-bottom: 1px solid var(--cog-line); }

.cog-article__body { max-width: 760px; margin: 0 auto; padding-top: 28px; font-size: 1.075rem; line-height: 1.72; color: #23303c; }
.cog-article__body > * { margin-top: 0; margin-bottom: 1.15em; }
.cog-article__body h2 { font-size: clamp(1.5rem, 2.8vw, 1.9rem); line-height: 1.22; color: var(--cog-ink); font-weight: 600; margin-top: 2.2em; margin-bottom: .6em; }
.cog-article__body h3 { font-size: 1.25rem; line-height: 1.3; color: var(--cog-ink); font-weight: 600; margin-top: 1.9em; margin-bottom: .5em; }
.cog-article__body a { color: var(--cog-accent); text-decoration: underline; text-underline-offset: 3px; }
.cog-article__body ul, .cog-article__body ol { padding-left: 1.3em; }
.cog-article__body li { margin-bottom: .4em; }
.cog-article__body strong { color: var(--cog-ink); }
.cog-article__body .wp-block-table { margin: 1.6em 0; overflow-x: auto; border: 1px solid var(--cog-line); border-radius: 6px; }
.cog-article__body .wp-block-table table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.45; min-width: 640px; }
.cog-article__body .wp-block-table th, .cog-article__body .wp-block-table td { border: 0; border-bottom: 1px solid var(--cog-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.cog-article__body .wp-block-table thead { border: 0; }
.cog-article__body .wp-block-table thead th { background: var(--cog-surface); color: var(--cog-muted); font-size: .8rem; font-weight: 600; }
.cog-article__body .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.cog-article__body .wp-block-table td:first-child { font-weight: 600; color: var(--cog-ink); }
.cog-article__body .wp-block-table figcaption { font-size: .82rem; color: var(--cog-muted); padding: 8px 12px; margin: 0; }
.cog-article__body .cog-note { font-size: .92rem; color: var(--cog-muted); border-left: 3px solid var(--cog-line); padding-left: 14px; }
.cog-article__body .cog-faq-q { margin-bottom: .35em; }

.cog-article__after { max-width: 760px; margin: 48px auto 0; padding-bottom: 40px; }
.cog-article-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; background: var(--cog-ink); color: #fff; border-radius: 6px; padding: 22px 24px; margin-bottom: 48px; }
.cog-article-cta__title { font-weight: 700; font-size: 1.12rem; margin: 0 0 4px !important; }
.cog-article-cta__text { color: #c9d4dd; font-size: .95rem; margin: 0 !important; max-width: 48ch; }
.cog-tool a.cog-article-cta__button { flex: none; background: #fff; color: var(--cog-ink); font-weight: 600; text-decoration: none; padding: 11px 18px; border-radius: 6px; }
.cog-tool a.cog-article-cta__button:hover { background: #dff0ee; }
.cog-article__after .cog-posts__title { font-size: 1.35rem; }

@media (max-width: 600px) {
	.cog-blog-wrap { padding-left: 16px; padding-right: 16px; }
	.cog-blog-head { padding: 32px 0 28px; }
	.cog-article { padding: 0 16px 16px; }
	.cog-article__head { padding-top: 32px; }
	.cog-article__body { font-size: 1.03rem; }
}
.cog-tool .cog-blog-head__desc { margin: 0 !important; }
.cog-blog-head .cog-blog-head__title { margin-top: 0; }
.cog-article .cog-article__body { margin-top: 0 !important; padding-top: 24px; }
