/*
 * Tomegah — global CSS.
 *
 * Design source: the approved Claude Design export (October 2026).
 * Everything theme.json can express (palette, fonts, type scale, spacing,
 * element and block styles) lives there. This file holds only what
 * theme.json has no equivalent for:
 *
 * 1. One consistent :focus-visible ring for every interactive element:
 *    2px terracotta, 3px offset (terracotta on ivory is 5.2:1).
 * 2. Link underline offset and thickness, which theme.json can't set.
 * 3. Minimum touch-target heights for buttons (48px, 44px for text actions).
 * 4. Balanced heading line breaks (text-wrap), not expressible in theme.json.
 * 5. A visually hidden skip link that appears on keyboard focus.
 * 6. Honouring prefers-reduced-motion.
 * 7. Underlining the 404 template's "Back to homepage" link (a
 *    core/home-link inside core/navigation, whose textDecoration support
 *    applies to the <li> wrapper rather than the inner <a>).
 */

/* 1. Focus. */
:focus-visible {
	outline: 2px solid var(--wp--preset--color--terracotta);
	outline-offset: 3px;
}

/* Terracotta is only 2.1–2.7:1 on forest and forest deep, so on those
   backgrounds (footer, filled buttons' surroundings) the ring is ivory. */
.has-forest-background-color :focus-visible,
.has-forest-deep-background-color :focus-visible {
	outline-color: var(--wp--preset--color--ivory);
}

/* 2. Links. */
a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* 3. Buttons: consistent height and centred labels; square-ish corners. */
.wp-element-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	box-sizing: border-box;
}

/* Outline buttons fill on hover (theme.json variations can't hold :hover). */
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ivory);
}

/* 4. Headings. */
h1,
h2,
h3,
h4 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* 5. Skip link. */
.skip-link.screen-reader-text:focus {
	z-index: 100000;
	top: var(--wp--preset--spacing--30);
	left: var(--wp--preset--spacing--30);
	width: auto;
	height: auto;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	clip: auto;
	clip-path: none;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ivory);
	font-weight: 500;
	text-decoration: none;
}

/* 6. Reduced motion. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* 7. 404 home link. */
.wp-block-home-link a {
	text-decoration: underline;
}

/*
 * Shared editorial pieces (approved Claude Design, Phase C).
 * Eyebrows, section labels and rules, text actions, meta lines and the
 * "Text link" button style are reused by later templates.
 */
.tomegah-eyebrow {
	color: var(--wp--preset--color--terracotta);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* "Featured"-style label sitting on a charcoal rule. */
.tomegah-section__label {
	margin-block: 0 40px;
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--charcoal);
	color: var(--wp--preset--color--charcoal);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Heading row on a charcoal rule, with an optional text action on the right. */
.tomegah-section__head {
	gap: var(--wp--preset--spacing--50);
	margin-block: 0 40px;
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--charcoal);
}

.tomegah-section__head > * {
	margin-block: 0;
}

/* The heading takes the free space; the text action ("All articles →")
   never wraps, even at 320px. */
.tomegah-section__head .tomegah-section__title {
	flex: 1 1 auto;
	min-width: 0;
}

.tomegah-section__head .tomegah-text-action {
	flex: none;
	white-space: nowrap;
}

.tomegah-section__title {
	font-size: clamp(1.625rem, 1.461rem + 0.674vw, 2rem);
	line-height: 1.15;
	letter-spacing: 0;
}

/* Text actions ("All articles →", "More about Bright →", "About Bright →"). */
.tomegah-text-action {
	margin: 0;
}

.tomegah-text-action a,
.wp-block-button.is-style-tomegah-text-link .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	min-height: 44px;
	color: var(--wp--preset--color--forest);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}

.wp-block-button.is-style-tomegah-text-link .wp-block-button__link {
	padding: 0;
	border-color: transparent;
	background: transparent;
}

.tomegah-text-action a:hover,
.wp-block-button.is-style-tomegah-text-link .wp-block-button__link:hover {
	color: var(--wp--preset--color--terracotta);
	background: transparent;
}

/* Date · reading time. */
.tomegah-meta {
	gap: 0 0.4em;
	color: var(--wp--preset--color--muted);
	font-size: 0.8125rem;
}

.tomegah-meta > * {
	margin: 0;
	font-size: inherit;
}

.tomegah-meta > * + *::before {
	content: "·";
	margin-right: 0.4em;
}

/* Credit line under a licensed photo. */
.tomegah-photo-credit {
	margin-top: 12px;
	color: var(--wp--preset--color--muted);
	font-size: 0.8125rem;
	line-height: 1.5;
	text-align: left;
}

.tomegah-photo-credit a {
	color: inherit;
}

/*
 * Homepage (approved Claude Design, Phase C).
 * Desktop uses the design's 12-column grid with 24px gutters inside the
 * 1168px wide container. Below 782px (WordPress's own columns breakpoint)
 * everything stacks, with text before images.
 */
.tomegah-home > * {
	margin-block: 0;
}

.tomegah-section {
	padding-bottom: var(--wp--preset--spacing--80);
}

/* Hero: text in columns 1-5, a 4:5 photo in columns 7-12. */
.tomegah-hero {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: end;
	column-gap: 24px;
	padding-top: clamp(2.25rem, 1.592rem + 2.697vw, 4rem);
	padding-bottom: var(--wp--preset--spacing--80);
}

.tomegah-hero > * {
	margin-block: 0;
}

.tomegah-hero__text {
	display: flex;
	flex-direction: column;
	gap: 28px;
	grid-column: 1 / span 5;
	padding-bottom: 56px;
}

.tomegah-hero--text-only .tomegah-hero__text {
	grid-column: 1 / span 8;
	padding-bottom: 0;
}

.tomegah-hero__text > * {
	margin-block: 0;
}

.tomegah-hero__title {
	line-height: 1.04;
	letter-spacing: -0.018em;
}

.tomegah-hero__intro {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
}

.tomegah-hero__actions {
	gap: 32px;
	margin-top: 8px !important; /* Beats the flex gap's zero margin in the column. */
}

.tomegah-hero__media {
	grid-column: 7 / span 6;
	margin: 0;
}

.tomegah-hero__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	/* Keeps the hero image's tower and lit roadway in the 4:5 frame. */
	object-position: 58% 50%;
}

/* Tablet: the narrow text column is taller than the image, so centre the
   two columns instead of aligning the image to the bottom of the text. */
@media (min-width: 782px) and (max-width: 1023px) {

	.tomegah-hero {
		align-items: center;
	}
}

/* Featured: 3:2 image in columns 1-7, text in columns 9-12. */
.tomegah-featured__item {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: center;
	column-gap: 24px;
}

.tomegah-featured__item > * {
	margin-block: 0;
}

.tomegah-featured__image {
	grid-column: 1 / span 7;
}

.tomegah-featured__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	grid-column: 9 / span 4;
}

.tomegah-featured__item:not(:has(.tomegah-featured__image)) .tomegah-featured__body {
	grid-column: 1 / span 8;
}

.tomegah-featured__body > * {
	margin-block: 0;
}

.tomegah-featured__title {
	font-size: clamp(1.75rem, 1.476rem + 1.124vw, 2.375rem);
	line-height: 1.12;
	letter-spacing: -0.01em;
}

.tomegah-featured__excerpt {
	font-size: 1.0625rem;
}

.tomegah-featured .tomegah-meta {
	font-size: 0.875rem;
}

/* Post grid: three text-led cards, no card backgrounds. */
.tomegah-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tomegah-post-grid > li {
	margin: 0;
}

.tomegah-post-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}

.tomegah-post-card > *,
.tomegah-post-card__body > * {
	margin-block: 0;
}

.tomegah-post-card__image {
	margin-bottom: 6px;
}

/* Page results (such as About, whose image is a 4:5 portrait) crop from
   near the top of the image, so a face is not cut off by the card frame. */
.type-page .tomegah-post-card__image img {
	object-position: 50% 5%;
}

.tomegah-post-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.tomegah-post-card__title {
	line-height: 1.22;
}

.tomegah-post-card__excerpt p {
	margin: 0;
}

/* Topics: heading and intro in columns 1-4, a two-column list in 6-12. */
.tomegah-topics {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 24px;
}

.tomegah-topics::before {
	content: "";
	grid-column: 1 / -1;
	margin-bottom: 40px;
	border-top: 1px solid var(--wp--preset--color--charcoal);
}

.tomegah-topics > * {
	margin-block: 0;
}

.tomegah-topics__intro {
	display: flex;
	flex-direction: column;
	gap: 16px;
	grid-column: 1 / span 4;
}

.tomegah-topics__intro > * {
	margin-block: 0;
}

.tomegah-topics__lede {
	max-width: 30ch;
	color: var(--wp--preset--color--muted);
}

.tomegah-topics__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-column: 6 / span 7;
	column-gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tomegah-topics__list li {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.tomegah-topics__list a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 0 22px;
	color: var(--wp--preset--color--charcoal);
	text-decoration: none;
}

.tomegah-topics__name {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.3125rem;
	line-height: 1.25;
}

.tomegah-topics__list a:hover .tomegah-topics__name {
	color: var(--wp--preset--color--forest);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.tomegah-topics__arrow {
	flex: none;
	color: var(--wp--preset--color--terracotta);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
}

.tomegah-topics__desc {
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
	line-height: 1.5;
}

/* About band: sand, text-led until a portrait is supplied. */
.tomegah-about-intro {
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--80);
}

.tomegah-about-intro__inner > * {
	margin-block: 0;
}

.tomegah-about-intro__text {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 56ch;
}

.tomegah-about-intro__text > * {
	margin-block: 0;
}

.tomegah-about-intro__body {
	font-size: 1.125rem;
	line-height: 1.65;
}

/* Contact call to action, and the homepage Buyer Assessment section, which
   shares its layout. */
.tomegah-contact-cta,
.tomegah-assessment {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: end;
	column-gap: 24px;
	padding-top: var(--wp--preset--spacing--80);
}

.tomegah-contact-cta > *,
.tomegah-assessment > * {
	margin-block: 0;
}

.tomegah-contact-cta__title,
.tomegah-assessment__title {
	grid-column: 1 / span 6;
	line-height: 1.1;
	letter-spacing: -0.012em;
}

.tomegah-contact-cta__body,
.tomegah-assessment__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	grid-column: 8 / span 5;
}

.tomegah-contact-cta__body > *,
.tomegah-assessment__body > * {
	margin-block: 0;
}

.tomegah-contact-cta__lede,
.tomegah-assessment__lede {
	color: var(--wp--preset--color--muted);
	font-size: 1.0625rem;
}

.tomegah-contact-cta__actions,
.tomegah-assessment__actions {
	gap: 12px 28px;
}

.tomegah-contact-cta__actions > *,
.tomegah-assessment__actions > * {
	margin: 0;
}

/* A hairline separates the assessment section from the topic index above,
   as on the About page's closing call to action. */
.tomegah-assessment {
	border-top: 1px solid var(--wp--preset--color--line);
}

.tomegah-contact-cta__phone a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--wp--preset--color--charcoal);
	font-size: 0.9375rem;
	text-decoration: none;
}

.tomegah-contact-cta__phone a:hover {
	color: var(--wp--preset--color--forest);
	text-decoration: underline;
}

@media (max-width: 781px) {

	.tomegah-hero,
	.tomegah-featured__item,
	.tomegah-topics,
	.tomegah-contact-cta,
	.tomegah-assessment {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.tomegah-hero {
		gap: 28px;
	}

	.tomegah-hero__text {
		gap: 20px;
		padding-bottom: 0;
	}

	/* Stacked below the copy: the wide hero image at its own 3:2, not a
	   tall crop of it. */
	.tomegah-hero__media img {
		aspect-ratio: 3 / 2;
		object-position: 50% 50%;
	}

	/* Full-width primary action, text action beneath it. */
	.tomegah-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		margin-top: 4px !important;
	}

	.tomegah-hero__actions .wp-block-button,
	.tomegah-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.tomegah-hero__actions .wp-block-button:not(.is-style-tomegah-text-link) .wp-block-button__link {
		min-height: 50px;
	}

	.tomegah-hero__actions .is-style-tomegah-text-link .wp-block-button__link {
		justify-content: flex-start;
	}

	.tomegah-section__label,
	.tomegah-section__head {
		margin-bottom: 16px;
		padding-top: 14px;
	}

	.tomegah-featured__item {
		gap: 16px;
	}

	.tomegah-featured__body {
		gap: 14px;
	}

	/* Post grid becomes text-first rows; a 1:1 thumbnail sits on the right
	   only when the post has a featured image. */
	.tomegah-post-grid {
		display: block;
	}

	.tomegah-post-card {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		padding: 18px 0;
		border-bottom: 1px solid var(--wp--preset--color--line);
	}

	.tomegah-post-card:has(.tomegah-post-card__image) {
		grid-template-columns: minmax(0, 1fr) 88px;
	}

	.tomegah-post-card__image {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
	}

	.tomegah-post-card__image img {
		aspect-ratio: 1 / 1 !important; /* Overrides the block's inline 3:2. */
	}

	.tomegah-post-card__body {
		grid-column: 1;
		grid-row: 1;
		gap: 6px;
	}

	.tomegah-post-card__term {
		font-size: 0.75rem;
	}

	.tomegah-post-card__title {
		font-size: 1.1875rem;
		line-height: 1.25;
	}

	.tomegah-post-card__excerpt {
		display: none;
	}

	.tomegah-post-card .tomegah-meta {
		font-size: 0.75rem;
	}

	/* Topics: a single list of names with arrows. */
	.tomegah-topics::before {
		display: none;
	}

	.tomegah-topics__intro {
		gap: 6px;
		padding-top: 14px;
		border-top: 1px solid var(--wp--preset--color--charcoal);
	}

	.tomegah-topics__lede {
		display: none;
	}

	.tomegah-topics__list {
		display: block;
	}

	.tomegah-topics__list li {
		border-top: 0;
		border-bottom: 1px solid var(--wp--preset--color--line);
	}

	.tomegah-topics__list a {
		justify-content: center;
		min-height: 52px;
		padding: 0;
	}

	.tomegah-topics__name {
		align-items: center;
		font-size: 1.125rem;
	}

	.tomegah-topics__desc {
		display: none;
	}

	.tomegah-about-intro__text {
		gap: 18px;
	}

	.tomegah-about-intro__body {
		font-size: 1rem;
	}

	.tomegah-contact-cta,
	.tomegah-assessment {
		gap: 16px;
	}

	.tomegah-contact-cta__title,
	.tomegah-assessment__title {
		font-size: 1.875rem;
	}

	.tomegah-contact-cta__lede,
	.tomegah-assessment__lede {
		font-size: 1rem;
	}

	.tomegah-contact-cta__actions,
	.tomegah-assessment__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.tomegah-contact-cta__actions .wp-block-button,
	.tomegah-contact-cta__actions .wp-block-button__link,
	.tomegah-assessment__actions .wp-block-button,
	.tomegah-assessment__actions .wp-block-button__link {
		width: 100%;
		min-height: 50px;
	}
}

/*
 * Header (approved Claude Design, Phase B).
 * Desktop: 76px bar, Newsreader site title, four text links 36px apart,
 * active item in charcoal with a 1px terracotta underline.
 * Below 600px (the Navigation block's own collapse point) the links move
 * into the core overlay, opened by a text "Menu" button (hasIcon: false)
 * and closed by a text "Close" button. Escape-to-close, focus trapping and
 * aria-expanded all come from the core block; the theme adds no JavaScript.
 */
.tomegah-header__inner {
	min-height: 76px;
	gap: var(--wp--preset--spacing--50);
}

/* Fixed sizes from the design; theme.json fluid typography would otherwise
   scale these raw values down between 600px and desktop. */
.tomegah-header .wp-block-site-title {
	margin: 0;
	font-size: 1.4375rem;
	white-space: nowrap;
}

.tomegah-primary-nav {
	font-size: 0.9375rem;
}

.tomegah-primary-nav .wp-block-navigation__container {
	column-gap: 2.25rem;
}

.tomegah-primary-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--wp--preset--color--muted);
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 10px;
}

.tomegah-primary-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--charcoal);
	text-decoration-color: var(--wp--preset--color--line);
}

.tomegah-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.tomegah-primary-nav .wp-block-navigation-item__content[aria-current] {
	color: var(--wp--preset--color--charcoal);
	text-decoration-color: var(--wp--preset--color--terracotta);
}

/* Menu and Close buttons (text labels, per design). */
.tomegah-primary-nav .wp-block-navigation__responsive-container-open,
.tomegah-primary-nav .wp-block-navigation__responsive-container-close {
	/* No display here: core shows/hides these at its 600px breakpoint. */
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background: transparent;
	color: var(--wp--preset--color--charcoal);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
}

/* Two-line glyph before "Menu" (decorative; the text is the label). */
.tomegah-primary-nav .wp-block-navigation__responsive-container-open::before {
	content: "";
	width: 16px;
	height: 8px;
	background:
		linear-gradient(currentColor, currentColor) top / 100% 1.5px no-repeat,
		linear-gradient(currentColor, currentColor) bottom / 100% 1.5px no-repeat;
}

.tomegah-primary-nav .wp-block-navigation__responsive-container-close {
	top: 10px;
	right: 0;
	border-color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ivory);
}

/* Open overlay: ivory sheet, large serif links divided by hairlines. */
.tomegah-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 0 var(--wp--style--root--padding-right, 1.25rem) var(--wp--preset--spacing--70) var(--wp--style--root--padding-left, 1.25rem);
	/* Hairline under the 64px bar that holds the Close button, as in the design. */
	background-image: linear-gradient(var(--wp--preset--color--line), var(--wp--preset--color--line));
	background-position: 0 64px;
	background-repeat: no-repeat;
	background-size: 100% 1px;
}

/* Matches core's own selector specificity (it sets 56px here). */
.tomegah-primary-nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
	padding-top: calc(64px + var(--wp--preset--spacing--50));
	align-items: stretch;
}

.tomegah-primary-nav .is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
	align-items: stretch;
}

.tomegah-primary-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tomegah-primary-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex;
	justify-content: space-between;
	width: 100%;
	min-height: 68px;
	padding: 0 !important; /* Core pads overlay items inline. */
	color: var(--wp--preset--color--charcoal);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2rem;
	font-weight: 400;
	text-decoration: none;
}

.tomegah-primary-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content::after,
.tomegah-primary-nav .is-menu-open .wp-block-navigation-item__content[aria-current]::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--terracotta);
}

@media (max-width: 599px) {

	.tomegah-header__inner {
		min-height: 64px;
	}

	.tomegah-header .wp-block-site-title {
		font-size: 1.3125rem;
	}
}

/*
 * Footer (approved Claude Design, Phase B).
 * Desktop: 12-column grid with brand (cols 1-5), Site links (7-8) and
 * contact details (9-12), above a legal bar. It stacks below 782px.
 * Footer-only colours are theme.json custom tokens; every text pairing on
 * forest deep is at least 7.3:1.
 */
.tomegah-footer {
	color: var(--wp--custom--color--footer-text);
}

.tomegah-footer__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 24px;
	row-gap: var(--wp--preset--spacing--60);
}

.tomegah-footer__grid > *,
.tomegah-footer__brand > *,
.tomegah-footer__nav > *,
.tomegah-footer__contact > *,
.tomegah-footer__legal > * {
	margin-block: 0;
}

.tomegah-footer__brand {
	grid-column: 1 / span 5;
}

.tomegah-footer__nav {
	grid-column: 7 / span 2;
}

.tomegah-footer__contact {
	grid-column: 9 / span 4;
}

.tomegah-footer .tomegah-footer__title {
	color: var(--wp--preset--color--ivory);
	font-size: 1.625rem;
	font-weight: 500;
}

.tomegah-footer .tomegah-footer__description {
	max-width: 34ch;
	margin-top: 14px;
	color: var(--wp--custom--color--footer-muted);
	font-size: 0.9375rem;
	line-height: 1.6;
}

/* Social icons (patterns/footer-social.php): monochrome rather than core's
   brand colours, 44px targets, WhatsApp set apart after a short rule because
   it opens a direct message, not a profile. The negative inline margin lines
   the first icon up with the text above. Focus uses the ivory ring above. */
.tomegah-footer .tomegah-footer__social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	margin-top: 20px;
	margin-inline-start: -12px;
}

.tomegah-footer .tomegah-footer__social-list {
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	margin: 0;
}

.tomegah-footer .tomegah-footer__social-list--message::before {
	content: "";
	width: 1px;
	height: 20px;
	margin-inline-end: 12px;
	background-color: var(--wp--custom--color--footer-rule);
}

.tomegah-footer .tomegah-footer__social-list .wp-social-link {
	color: var(--wp--custom--color--footer-text);
	transform: none;
	transition: none;
}

.tomegah-footer .tomegah-footer__social-list .wp-block-social-link-anchor {
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 2px;
}

.tomegah-footer .tomegah-footer__social-list .wp-block-social-link-anchor:hover {
	background-color: var(--wp--custom--color--footer-rule);
	color: var(--wp--preset--color--ivory);
}

.tomegah-footer .tomegah-footer__social-list .wp-block-social-link-anchor svg {
	width: 20px;
	height: 20px;
}

.tomegah-footer .tomegah-footer__label {
	margin-bottom: 16px;
	color: var(--wp--custom--color--footer-muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.tomegah-footer__list {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.tomegah-footer__list a {
	display: inline-flex;
	align-items: center;
	min-height: 24px; /* WCAG 2.5.8; 44px on touch-sized screens below. */
	color: var(--wp--custom--color--footer-text);
	text-decoration: none;
}

.tomegah-footer__list a:hover {
	color: var(--wp--custom--color--footer-text);
	text-decoration: underline;
}

.tomegah-footer .tomegah-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	margin-top: clamp(2rem, 1.123rem + 3.596vw, 4rem);
	padding-top: 20px;
	border-top: 1px solid var(--wp--custom--color--footer-rule);
	color: var(--wp--custom--color--footer-muted);
	font-size: 0.8125rem;
}

.tomegah-footer__list--legal {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 24px;
	font-size: inherit;
}

.tomegah-footer__list--legal a,
.tomegah-footer__list--legal a:hover {
	color: var(--wp--custom--color--footer-muted);
	text-decoration: underline;
}

@media (max-width: 781px) {

	.tomegah-footer__grid {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.tomegah-footer .tomegah-footer__title {
		font-size: 1.5rem;
	}

	.tomegah-footer .tomegah-footer__description {
		max-width: none;
		margin-top: 10px;
	}

	/* The design drops the "Site" and "Contact" headings on mobile. They stay
	   available to screen readers (the contact list is labelled by its heading). */
	.tomegah-footer .tomegah-footer__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	/* Site links in two columns (Home/About over Read/Contact), keeping DOM order. */
	.tomegah-footer__list--site {
		display: grid;
		grid-template-rows: repeat(2, auto);
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		gap: 4px 16px;
		font-size: 1rem;
	}

	.tomegah-footer__list--site a,
	.tomegah-footer__list--contact a {
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	.tomegah-footer__list--contact {
		gap: 2px;
		padding-top: 20px;
		border-top: 1px solid var(--wp--custom--color--footer-rule);
	}

	.tomegah-footer .tomegah-footer__legal {
		flex-direction: column-reverse;
		justify-content: flex-start;
		gap: 12px;
		margin-top: 32px;
	}

	.tomegah-footer__list--legal {
		gap: 20px;
	}

	.tomegah-footer__list--legal a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

/*
 * Read page and topic archives (approved Claude Design, Phase D).
 * Intro row, topic filter, featured article (Read page only), ruled
 * three-column post grid and pagination with a "Page X of Y" status.
 */
.tomegah-archive > * {
	margin-block: 0;
}

.tomegah-archive-intro {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: end;
	column-gap: 24px;
	padding-top: clamp(2.25rem, 1.373rem + 3.596vw, 4.5rem);
	padding-bottom: clamp(1.5rem, 1.11rem + 1.6vw, 2.5rem);
}

.tomegah-archive-intro > *,
.tomegah-archive-intro__title > *,
.tomegah-archive-intro__lede > * {
	margin-block: 0;
}

.tomegah-archive-intro__title {
	display: flex;
	flex-direction: column;
	gap: 20px;
	grid-column: 1 / span 7;
}

.tomegah-archive-intro__title h1 {
	line-height: 1.08;
	letter-spacing: -0.015em;
}

.tomegah-archive-intro__lede {
	grid-column: 9 / span 4;
	color: var(--wp--preset--color--muted);
}

.tomegah-archive-intro__lede p {
	margin: 0;
}

/* Topic filter: bordered chips (the design's mobile style). The eight real
   topic names are wider than the 1168px container even with no gaps, so the
   design's single row of underlined desktop tabs can't fit; chips wrap
   cleanly on desktop and become one horizontally scrollable row on mobile. */
.tomegah-topic-filter__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0 0 24px;
	border-bottom: 1px solid var(--wp--preset--color--line);
	list-style: none;
}

.tomegah-topic-filter__list li {
	margin: 0;
}

.tomegah-topic-filter__list a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	color: var(--wp--preset--color--charcoal);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.tomegah-topic-filter__list a:hover {
	border-color: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--forest);
}

.tomegah-topic-filter__list a[aria-current] {
	border-color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ivory);
}

/* Read page topic heading and intro, directly above the topic filter. */
.tomegah-read-topics {
	padding-bottom: 24px;
}

.tomegah-read-topics__intro {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tomegah-read-topics__intro > * {
	margin-block: 0;
}

.tomegah-read-topics__lede {
	max-width: 56ch;
	color: var(--wp--preset--color--muted);
}

/* Read page editorial images, between the topic filter and the article
   grid: the primary image (columns 1-7, 2:1) sets the row height and the
   supporting image (columns 8-12) fills the same height, so both share
   top and bottom edges. Cropped with object-fit, never stretched. */
.tomegah-read-images {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 24px;
	padding-top: 40px;
}

.tomegah-read-images > figure {
	margin: 0;
}

.tomegah-read-images__primary {
	grid-column: 1 / span 7;
}

.tomegah-read-images__support {
	position: relative;
	grid-column: 8 / span 5;
}

.tomegah-read-images__img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.tomegah-read-images__primary .tomegah-read-images__img {
	aspect-ratio: 2 / 1;
	object-position: 50% 35%;
}

/* Fills the row the primary image defines, without adding height to it. */
.tomegah-read-images__support .tomegah-read-images__img {
	position: absolute;
	inset: 0;
	height: 100%;
	object-position: 50% 30%;
}

/* Only one image set: it spans the full width at 5:2. */
.tomegah-read-images--single > figure {
	grid-column: 1 / -1;
}

.tomegah-read-images--single .tomegah-read-images__img {
	position: static;
	height: auto;
	aspect-ratio: 5 / 2;
}

/* Read page featured article. */
.tomegah-read-featured {
	padding-top: 56px;
}

.tomegah-read-featured__item {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 32px 24px;
}

.tomegah-read-featured__item > *,
.tomegah-read-featured__head > *,
.tomegah-read-featured__body > * {
	margin-block: 0;
}

.tomegah-read-featured__image {
	grid-column: 1 / -1;
}

.tomegah-read-featured__head {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: baseline;
	gap: 14px 0.4em;
	grid-column: 1 / span 7;
}

.tomegah-read-featured__label,
.tomegah-read-featured__head .wp-block-post-terms {
	color: var(--wp--preset--color--terracotta);
	font-size: 0.8125rem;
	font-weight: 600;
}

.tomegah-read-featured__label::after {
	content: " ·";
}

.tomegah-read-featured__title {
	flex-basis: 100%;
	font-size: clamp(1.6875rem, 1.358rem + 1.348vw, 2.625rem);
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.tomegah-read-featured__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	grid-column: 9 / span 4;
	padding-top: 30px;
}

.tomegah-read-more {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 44px;
	color: var(--wp--preset--color--forest);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}

.tomegah-read-more::after {
	content: "→";
	margin-left: 0.4em;
	text-decoration: none;
}

/* Post grid (archive variant): a hairline above each card. */
.tomegah-archive__posts {
	padding-top: 56px;
	padding-bottom: var(--wp--preset--spacing--80);
}

.tomegah-read-featured + .tomegah-archive__posts {
	padding-top: 72px;
}

.tomegah-post-grid--ruled {
	row-gap: 64px;
}

.tomegah-post-grid--ruled .tomegah-post-card {
	gap: 12px;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--line);
}

/* Compact cards (Related reading): no excerpt, smaller title. */
.tomegah-post-grid--compact .tomegah-post-card__excerpt {
	display: none;
}

.tomegah-post-grid--compact .tomegah-post-card__title {
	font-size: clamp(1.125rem, 0.961rem + 0.674vw, 1.375rem);
	line-height: 1.25;
}

/* Empty archive. */
.tomegah-archive .wp-block-query-no-results h2 {
	font-size: var(--wp--preset--font-size--x-large);
}

.tomegah-archive .wp-block-query-no-results p {
	color: var(--wp--preset--color--muted);
}

/* Search results and 404 (Phase F): the archive intro, with the result
   count or explanation, the search form and links stacked in the lede. */
.tomegah-search .tomegah-archive-intro__lede,
.tomegah-404 .tomegah-archive-intro__lede {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tomegah-search-form .wp-block-search__inside-wrapper {
	gap: 8px;
}

.tomegah-search-form .wp-block-search__input {
	box-sizing: border-box;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--wp--custom--color--field-border);
	border-radius: 2px;
	background-color: var(--wp--preset--color--field);
	color: var(--wp--preset--color--charcoal);
	font-family: inherit;
	font-size: 1rem;
}

.tomegah-search-form .wp-block-search__input:focus {
	border-color: var(--wp--preset--color--forest);
}

.tomegah-search-form .wp-block-search__button {
	margin: 0;
}

.tomegah-404__links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--wp--preset--color--forest);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 6px;
}

/* Pagination with "Page X of Y". */
.tomegah-pagination {
	align-items: center;
	gap: 16px;
	margin-top: 72px;
	padding-top: 20px;
	border-top: 1px solid var(--wp--preset--color--charcoal);
	font-size: 0.9375rem;
}

.tomegah-pagination > * {
	margin: 0;
}

.tomegah-pagination__status {
	color: var(--wp--preset--color--muted);
}

.tomegah-pagination .wp-block-query-pagination-numbers {
	display: flex;
	gap: 6px;
	margin-inline: auto; /* Centred between the status/previous and next links. */
}

.tomegah-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	border-radius: 2px;
	color: var(--wp--preset--color--charcoal);
	text-decoration: none;
}

.tomegah-pagination .page-numbers.current {
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ivory);
}

.tomegah-pagination .wp-block-query-pagination-previous,
.tomegah-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--wp--preset--color--forest);
	font-weight: 500;
}

/*
 * Single article (approved Claude Design, Phase D).
 * 820px header, wide 16:9 lead image, 680px body, then the disclaimer line,
 * author note, comments (assets/css/comments.css), related reading and
 * contact line. No avatars anywhere (no Gravatar requests).
 */
.tomegah-article > * {
	margin-block: 0;
}

.tomegah-article-header {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: var(--wp--custom--layout--article-header) !important; /* Narrower than the 1168px wide size. */
	padding-top: clamp(1.75rem, 1.137rem + 2.517vw, 4rem);
	padding-bottom: clamp(1.75rem, 1.477rem + 1.124vw, 2.5rem);
}

.tomegah-article-header > * {
	margin-block: 0;
}

.tomegah-breadcrumb {
	gap: 8px;
	font-size: 0.875rem;
}

.tomegah-breadcrumb > * {
	margin: 0;
}

.tomegah-breadcrumb__home a {
	color: var(--wp--preset--color--muted);
}

.tomegah-breadcrumb__sep {
	margin-left: 8px;
	color: var(--wp--preset--color--muted);
}

.tomegah-breadcrumb .wp-block-post-terms {
	font-size: 0.875rem;
}

.tomegah-article-header__title {
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.07;
	letter-spacing: -0.016em;
}

.tomegah-standfirst,
.tomegah-standfirst p {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--standfirst);
	line-height: 1.45;
}

.tomegah-byline {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 6px;
	padding-top: 20px;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 0.875rem;
}

.tomegah-byline > * {
	margin: 0;
}

.tomegah-byline .tomegah-meta {
	font-size: 0.875rem;
}

.tomegah-article__image {
	margin-bottom: clamp(1.75rem, 0.876rem + 3.596vw, 4rem);
}

.tomegah-article__body {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.72;
}

.tomegah-article__body > * + * {
	margin-block-start: 26px;
}

.tomegah-article__body h2 {
	margin-block-start: 1.6em;
	font-size: clamp(1.5rem, 1.336rem + 0.674vw, 1.875rem);
	line-height: 1.2;
	letter-spacing: 0;
}

.tomegah-article__body h3 {
	margin-block-start: 1.4em;
}

/* Checklist pattern. */
.tomegah-checklist {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px 0;
	border-top: 1px solid var(--wp--preset--color--charcoal);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tomegah-checklist > * {
	margin-block: 0;
}

.tomegah-checklist__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding-left: 22px;
	font-size: 1.0625rem;
	line-height: 1.6;
}

/* After the body: disclaimer line and author note at reading width. */
.tomegah-article__footer {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 12px;
	padding-bottom: clamp(3rem, 2.343rem + 2.697vw, 4.5rem);
}

.tomegah-article__footer > * {
	margin-block: 0;
}

.tomegah-disclaimer-line {
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
	line-height: 1.6;
}

.tomegah-author-bio {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 1rem;
	line-height: 1.6;
}

.tomegah-author-bio > *,
.tomegah-author-bio__body > * {
	margin: 0;
}

.tomegah-author-bio__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.tomegah-author-bio__name {
	font-weight: 600;
}

/* With Bright's portrait: a 64px circle beside the text (approved design). */
.tomegah-author-bio:has(.tomegah-author-bio__portrait) {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.tomegah-author-bio__portrait {
	width: 64px;
	height: 64px;
}

.tomegah-author-bio__img {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 50%;
}

.tomegah-related {
	padding-bottom: clamp(2.5rem, 1.904rem + 2.427vw, 4.5rem);
}

.tomegah-post-grid--compact {
	row-gap: 32px;
}

.tomegah-contact-line {
	justify-content: space-between;
	gap: 6px 24px;
	margin-bottom: var(--wp--preset--spacing--80) !important;
	padding: 28px 0;
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tomegah-contact-line > * {
	margin: 0;
}

.tomegah-contact-line__question {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.3125rem, 1.23rem + 0.337vw, 1.5rem);
	line-height: 1.3;
}

@media (max-width: 781px) {

	.tomegah-archive-intro,
	.tomegah-read-featured__item {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.tomegah-archive-intro {
		gap: 14px;
	}

	.tomegah-archive-intro__title {
		gap: 14px;
	}

	/* Topic filter: one horizontally scrollable row of chips. */
	.tomegah-topic-filter {
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 1.25rem)) !important;
		overflow-x: auto;
		scrollbar-width: none;
	}

	/* Start the row scrolled to the current topic where supported
	   (scroll-initial-target; progressive enhancement, no JavaScript). */
	.tomegah-topic-filter__list a[aria-current] {
		scroll-initial-target: nearest;
	}

	.tomegah-topic-filter__list {
		flex-wrap: nowrap;
		width: max-content;
		padding-right: var(--wp--style--root--padding-right, 1.25rem);
		padding-bottom: 0;
		border-bottom: 0;
	}

	.tomegah-read-topics {
		padding-bottom: 16px;
	}

	.tomegah-read-topics__intro {
		gap: 8px;
	}

	/* Stacked, primary first, at modest heights. */
	.tomegah-read-images {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding-top: 24px;
	}

	.tomegah-read-images__primary .tomegah-read-images__img {
		aspect-ratio: 16 / 9;
		object-position: 50% 40%;
	}

	.tomegah-read-images__support .tomegah-read-images__img {
		position: static;
		height: auto;
		aspect-ratio: 21 / 9;
		object-position: 50% 20%;
	}

	.tomegah-read-images--single .tomegah-read-images__img {
		aspect-ratio: 16 / 9;
	}

	.tomegah-read-featured {
		padding-top: 28px;
	}

	.tomegah-read-featured__item {
		gap: 14px;
	}

	.tomegah-read-featured__body {
		padding-top: 0;
	}

	.tomegah-archive__posts,
	.tomegah-read-featured + .tomegah-archive__posts {
		padding-top: 32px;
	}

	.tomegah-post-grid--ruled .tomegah-post-card {
		padding-top: 18px;
		border-top: 0;
	}

	.tomegah-post-grid--ruled {
		border-top: 1px solid var(--wp--preset--color--charcoal);
	}

	.tomegah-pagination {
		margin-top: 20px;
		border-top: 0;
	}

	.tomegah-pagination .wp-block-query-pagination-numbers {
		display: none;
	}

	.tomegah-article-header {
		gap: 16px;
	}

	.tomegah-byline {
		padding-top: 16px;
	}

	.tomegah-article__body {
		line-height: 1.7;
	}

	.tomegah-article__body > * + * {
		margin-block-start: 20px;
	}

	.tomegah-contact-line {
		flex-direction: column;
		align-items: flex-start;
		padding: 20px 0;
		border-top: 0;
	}
}

/*
 * Pages: general, About and Contact (approved Claude Design, Phase E).
 */
.tomegah-page > * {
	margin-block: 0;
}

/* Long-form reading: Privacy Policy, Editorial Disclaimer, Work With Me and
   other standard pages, plus the About page body. */
.tomegah-prose {
	font-size: 1.0625rem;
	line-height: 1.7;
}

.tomegah-prose > * + * {
	margin-block-start: 1.25em;
}

.tomegah-prose h2 {
	margin-block-start: 2.2em;
	font-size: clamp(1.5rem, 1.336rem + 0.674vw, 1.875rem);
	line-height: 1.2;
	letter-spacing: 0;
}

.tomegah-prose h3 {
	margin-block-start: 1.8em;
	font-size: var(--wp--preset--font-size--x-large);
}

.tomegah-prose h2 + *,
.tomegah-prose h3 + * {
	margin-block-start: 0.75em;
}

.tomegah-prose ul,
.tomegah-prose ol {
	padding-left: 1.4em;
}

.tomegah-prose li + li {
	margin-top: 0.5em;
}

.tomegah-prose li::marker {
	color: var(--wp--preset--color--muted);
}

/* General page: title and content share one centred 680px column. */
.tomegah-page-header {
	padding-top: clamp(2.25rem, 1.592rem + 2.697vw, 4rem);
	padding-bottom: clamp(1.5rem, 1.11rem + 1.6vw, 2.5rem);
}

.tomegah-page-header__title {
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.07;
	letter-spacing: -0.016em;
}

.tomegah-page__content {
	padding-bottom: var(--wp--preset--spacing--80);
}

/* About: text-led intro (no portrait yet), the page's own content as a
   standfirst and ruled sections, then approach and contact sections. */
.tomegah-about__intro {
	padding-top: clamp(2rem, 1.233rem + 3.146vw, 4rem);
	padding-bottom: var(--wp--preset--spacing--80);
}

.tomegah-about__intro > * {
	max-width: 44rem;
	margin-block: 0;
}

.tomegah-about__header {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 24px !important;
}

.tomegah-about__header > * {
	margin-block: 0;
}

.tomegah-about__title {
	font-size: clamp(2.5rem, 2.171rem + 1.348vw, 3.75rem);
	line-height: 1.04;
	letter-spacing: -0.018em;
}

/* First paragraph of the About page = serif standfirst. */
.tomegah-about__content > p:first-child {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.25rem, 1.086rem + 0.674vw, 1.5rem);
	line-height: 1.45;
}

.tomegah-about__content > p:first-child + p {
	color: var(--wp--preset--color--muted);
}

/* The page's own H2 sections sit on a charcoal rule, as in the design. */
.tomegah-about__content h2 {
	margin-block-start: 64px;
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--charcoal);
}

/* "Who this is for" list as hairline rows. */
.tomegah-about__content ul {
	padding: 0;
	list-style: none;
}

.tomegah-about__content ul li {
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tomegah-about__content ul li:first-child {
	border-top: 1px solid var(--wp--preset--color--line);
}

/* Approach: heading in columns 1-4, numbered principles in 6-12. */
.tomegah-approach {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 24px;
}

.tomegah-approach::before {
	content: "";
	grid-column: 1 / -1;
	margin-bottom: 40px;
	border-top: 1px solid var(--wp--preset--color--charcoal);
}

.tomegah-approach > * {
	margin-block: 0;
}

.tomegah-approach__title {
	grid-column: 1 / span 4;
	font-size: clamp(1.625rem, 1.379rem + 1.011vw, 2.25rem);
	line-height: 1.15;
}

.tomegah-approach__list {
	grid-column: 6 / span 7;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tomegah-approach__list li {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 16px;
	margin: 0;
	padding: 24px 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.tomegah-approach__number {
	color: var(--wp--preset--color--terracotta);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.375rem;
	line-height: 1.3;
}

.tomegah-approach__body > * {
	margin: 0;
}

.tomegah-approach__item-title {
	margin-bottom: 8px !important;
	font-size: clamp(1.3125rem, 1.23rem + 0.337vw, 1.5rem);
}

.tomegah-approach__body p {
	color: var(--wp--preset--color--muted);
	font-size: 1.0625rem;
	line-height: 1.65;
}

.tomegah-about .tomegah-contact-cta {
	border-top: 1px solid var(--wp--preset--color--line);
}

/*
 * Contact: header, the page's intro and contact details on the left, the
 * plugin's form on the right. The page content's own blocks are placed into
 * the grid with display: contents (no markup or content is changed), and the
 * draft's editorial notes after the form run full width beneath.
 */
.tomegah-contact__layout {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: start;
	column-gap: 24px;
	padding-top: clamp(2rem, 1.233rem + 3.146vw, 4.5rem);
	padding-bottom: clamp(3rem, 1.466rem + 6.292vw, 7rem);
}

.tomegah-contact__layout > *,
.tomegah-contact__content > * {
	grid-column: 1 / span 5;
	margin-block: 0;
}

.tomegah-contact__content {
	display: contents;
}

.tomegah-contact__header {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 24px !important;
}

.tomegah-contact__header > * {
	margin-block: 0;
}

.tomegah-contact__title {
	font-size: clamp(2.5rem, 2.171rem + 1.348vw, 3.75rem);
	line-height: 1.04;
	letter-spacing: -0.018em;
}

.tomegah-contact__content > p:first-child {
	max-width: 40ch;
	color: var(--wp--preset--color--muted);
	font-size: 1.125rem;
	line-height: 1.65;
}

/* The page's contact-details list, presented as label / value rows. The
   label is the list item's own text ("Mobile:"), the value its link. */
.tomegah-contact__content ul:has(a[href^="tel:"], a[href^="mailto:"]) {
	margin-top: 24px !important;
	padding: 0;
	list-style: none;
}

.tomegah-contact__content ul:has(a[href^="tel:"], a[href^="mailto:"]) li {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: baseline;
	gap: 4px 16px;
	margin: 0;
	padding: 16px 0;
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tomegah-contact__content ul:has(a[href^="tel:"], a[href^="mailto:"]) li a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	overflow-wrap: anywhere;
	color: var(--wp--preset--color--charcoal);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.375rem;
	font-weight: 400;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
}

.tomegah-contact__content ul:has(a[href^="tel:"], a[href^="mailto:"]) li a:hover {
	color: var(--wp--preset--color--forest);
	text-decoration: underline;
}

/* The form sits in columns 7-12 from the top of the page. */
.tomegah-contact__content .wp-block-bright-tomegah-core-contact-form,
.tomegah-contact__content .btc-contact-form-block {
	grid-column: 7 / span 6;
	grid-row: 1 / span 4;
	align-self: start;
}

/* Everything after the form (the draft's editorial notes) runs full width. */
.tomegah-contact__content .btc-contact-form-block ~ * {
	grid-column: 1 / -1;
	max-width: 52rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
}

.tomegah-contact__content .btc-contact-form-block + * {
	margin-top: 64px !important;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--line);
}

.tomegah-contact__content .btc-contact-form-block ~ * + * {
	margin-top: 12px !important;
}

@media (max-width: 781px) {

	.tomegah-approach,
	.tomegah-contact__layout {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.tomegah-approach {
		gap: 4px;
	}

	.tomegah-approach::before {
		display: none;
	}

	.tomegah-approach__title {
		padding-top: 14px;
		border-top: 1px solid var(--wp--preset--color--charcoal);
	}

	.tomegah-approach__list li {
		display: flex;
		flex-direction: column;
		gap: 6px;
		padding: 18px 0;
		border-top: 0;
		border-bottom: 1px solid var(--wp--preset--color--line);
	}

	.tomegah-approach__number {
		font-size: 1.0625rem;
	}

	.tomegah-about__content h2 {
		margin-block-start: 48px;
		padding-top: 14px;
	}

	.tomegah-contact__layout {
		gap: 16px;
	}

	.tomegah-contact__content ul:has(a[href^="tel:"], a[href^="mailto:"]) li {
		grid-template-columns: minmax(0, 1fr);
		padding: 14px 0;
		font-size: 0.6875rem;
	}

	.tomegah-contact__content ul:has(a[href^="tel:"], a[href^="mailto:"]) li a {
		min-height: 44px;
		font-size: 1.25rem;
	}

	.tomegah-contact__content .btc-contact-form-block {
		margin-top: 24px !important;
	}

	.tomegah-contact__content .btc-contact-form-block + * {
		margin-top: 40px !important;
	}
}

/*
 * Image placeholders (decision 2026-10-06; see inc/placeholders.php).
 * Neutral illustrated panels at each slot's design ratio. A hairline keeps
 * their edge visible on ivory and on the sand About band.
 */
.tomegah-placeholder {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
}

.tomegah-placeholder img {
	display: block;
	width: 100%;
	height: 100%;
}

/* Homepage About band: 4:5 portrait in columns 1-4, text in 6-11. */
.tomegah-about-intro__inner {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: center;
	column-gap: 24px;
}

.tomegah-about-intro__portrait {
	grid-column: 1 / span 4;
	margin: 0;
}

.tomegah-about-intro__portrait img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.tomegah-about-intro__text {
	grid-column: 6 / span 6;
}

/* About page intro: portrait in columns 1-5, heading and content in 7-12. */
.tomegah-about__intro {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: start;
	column-gap: 24px;
}

.tomegah-about__intro > * {
	max-width: none;
}

.tomegah-about__header,
.tomegah-about__content {
	grid-column: 7 / span 6;
}

.tomegah-about__portrait {
	grid-column: 1 / span 5;
	grid-row: 1 / span 2;
}

.tomegah-about__portrait img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

@media (max-width: 781px) {

	.tomegah-about-intro__inner,
	.tomegah-about__intro {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
	}

	.tomegah-about-intro__portrait {
		width: 62%;
	}

	.tomegah-about__portrait {
		margin-bottom: 8px !important;
	}

	/* Card placeholders follow the real images' square mobile thumbnail. */
	.tomegah-post-card__image.tomegah-placeholder {
		aspect-ratio: 1 / 1 !important;
	}
}

/* Contact page without a form (public submissions not yet enabled): the
   intro and contact details use a wider single column instead of leaving
   the form's right-hand column empty. */
.tomegah-contact__layout:not(:has(.btc-contact-form-block)) > *,
.tomegah-contact__layout:not(:has(.btc-contact-form-block)) .tomegah-contact__content > * {
	grid-column: 1 / span 7;
}
