/**
 * Content-page sections used by the about-*, sell-*, investment-*, off-market-*, contact-*,
 * legal-* patterns and the page-landing / page-legal / page-off-market templates.
 * Loaded with casara/page-intro (present on every content page). Tokens only.
 *
 * Index: landing wrapper · chapter · statement · pillars · steps · note · enquiry · band · legal
 * Two-class selectors are deliberate: they beat core's :root :where(.is-layout-flow) gaps.
 */

/* ---------- Landing wrapper: sections sit flush, no block-gap between bands ---------- */
.wp-block-post-content.c-landing > *,
.c-landing.c-landing > * { margin-block: 0; }

/* ---------- Chapter: index label + body (About, Investment) ---------- */
.c-chapter .c-chapter__grid { grid-template-columns: minmax(0, 1fr);
	display: grid;
	gap: var(--s-6) var(--s-gutter);
}
.c-chapter .c-chapter__grid > * { margin: 0; }
.c-chapter .c-chapter__label {
	display: flex;
	align-items: baseline;
	gap: var(--s-4);
}
.c-chapter .c-chapter__label > * { margin: 0; }
.c-chapter__index {
	font-family: var(--f-serif);
	font-size: var(--f-size-h4);
	font-weight: var(--f-weight-light);
	line-height: 1;
	color: var(--c-accent-text);
	font-variant-numeric: lining-nums;
}
.c-chapter .c-chapter__body > * + * { margin-block-start: var(--s-5); }
.c-chapter .c-chapter__body > h2 { max-width: 18ch; }
.c-chapter .c-chapter__body > h2 + * { margin-block-start: var(--s-6); }
.c-chapter .c-chapter__body > p:not(.u-lead) { max-width: 38rem; }
.c-chapter .c-chapter__body > .c-pillars,
.c-chapter .c-chapter__body > .c-steps { margin-block-start: var(--s-stack); }
@media (min-width: 64em) {
	.c-chapter .c-chapter__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 8fr); }
	.c-chapter .c-chapter__label {
		grid-column: 1;
		flex-direction: column;
		gap: var(--s-3);
		align-self: start;
		position: sticky;
		top: calc(var(--l-header-h-lg) + var(--s-6));
	}
	.c-chapter .c-chapter__body { grid-column: 3; }
}

/* ---------- Statement: one large serif sentence ---------- */
.c-statement .c-statement__inner > * { margin: 0; }
.c-statement .c-statement__inner > * + * { margin-block-start: var(--s-6); }
.c-statement__text {
	max-width: 22ch;
	font-family: var(--f-serif);
	font-size: var(--f-size-h2);
	font-weight: var(--f-weight-light);
	line-height: 1.12;
	letter-spacing: var(--f-track-heading);
	text-wrap: balance;
}
.c-statement__text em { font-style: italic; }
.c-statement--center .c-statement__inner { display: grid; justify-items: center; text-align: center; }
.c-statement__by {
	font-size: var(--f-size-caption);
	font-weight: var(--f-weight-medium);
	letter-spacing: var(--f-track-eyebrow);
	text-transform: uppercase;
	color: var(--c-text-muted);
}

/* ---------- Pillars: ruled, numbered items (Sell, Investment, Client Service) ---------- */
.c-pillars.c-pillars {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--s-7) var(--s-gutter);
	counter-reset: pillar;
}
.c-pillars.c-pillars > * { margin: 0; }
.c-pillars .c-pillars__item {
	display: grid;
	align-content: start;
	gap: var(--s-3);
	padding-top: var(--s-5);
	border-top: var(--hairline) solid var(--c-line);
	counter-increment: pillar;
}
.c-pillars .c-pillars__item > * { margin: 0; }
.c-pillars .c-pillars__item::before {
	content: counter(pillar, decimal-leading-zero);
	font-size: var(--f-size-caption);
	font-weight: var(--f-weight-medium);
	letter-spacing: var(--f-track-label);
	color: var(--c-accent-text);
	font-variant-numeric: tabular-nums;
}
.c-pillars__title {
	font-family: var(--f-serif);
	font-size: var(--f-size-h4);
	font-weight: var(--f-weight-regular);
	line-height: 1.2;
	letter-spacing: 0;
}
.c-pillars__text {
	max-width: 30rem;
	font-size: var(--f-size-small);
	line-height: 1.7;
	color: var(--c-text-muted);
}
@media (min-width: 48em) {
	.c-pillars.c-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s-8); }
}
@media (min-width: 64em) {
	.c-pillars.c-pillars--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.c-pillars.c-pillars--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Steps: a calm four-step process (core/list: <li><strong>Title</strong> text</li>) ---------- */
.c-steps.c-steps {
	display: grid;
	gap: var(--s-6) var(--s-gutter);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: step;
}
.c-steps.c-steps > li {
	margin: 0;
	padding-top: var(--s-5);
	border-top: var(--hairline) solid var(--c-line);
	counter-increment: step;
	font-size: var(--f-size-small);
	line-height: 1.7;
	color: var(--c-text-muted);
}
.c-steps.c-steps > li::before {
	content: counter(step);
	display: block;
	margin-bottom: var(--s-4);
	font-family: var(--f-serif);
	font-size: var(--f-size-h3);
	font-weight: var(--f-weight-light);
	line-height: 1;
	color: var(--c-accent-text);
}
.c-steps.c-steps > li strong {
	display: block;
	margin-bottom: var(--s-2);
	font-size: var(--f-size-body);
	font-weight: var(--f-weight-medium);
	line-height: 1.4;
	color: var(--c-text);
}
@media (min-width: 48em) { .c-steps.c-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .c-steps.c-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Note: disclaimer / quiet aside ---------- */
.c-note.c-note {
	display: grid;
	gap: var(--s-3);
	max-width: 48rem;
	padding: var(--s-5) 0 var(--s-5) var(--s-5);
	border-inline-start: var(--hairline) solid var(--c-accent);
}
.c-note.c-note > * { margin: 0; }
.c-note p { font-size: var(--f-size-small); line-height: 1.7; color: var(--c-text-muted); }

/* ---------- Enquiry: intro + lead form split ---------- */
.c-enquiry .c-enquiry__grid { grid-template-columns: minmax(0, 1fr); display: grid; gap: var(--s-8) var(--s-gutter); }
.c-enquiry .c-enquiry__grid > * { margin: 0; }
.c-enquiry .c-enquiry__intro > * { margin: 0; }
.c-enquiry .c-enquiry__intro > * + * { margin-block-start: var(--s-5); }
.c-enquiry .c-enquiry__intro > h2 { max-width: 14ch; }
.c-assurances.c-assurances {
	margin: var(--s-7) 0 0;
	padding: 0;
	list-style: none;
	border-top: var(--hairline) solid var(--c-line);
}
.c-assurances li {
	margin: 0;
	padding-block: var(--s-4);
	border-bottom: var(--hairline) solid var(--c-line);
	font-size: var(--f-size-small);
	color: var(--c-text-muted);
}
.c-assurances li strong { display: block; color: var(--c-text); font-weight: var(--f-weight-medium); }
@media (min-width: 64em) {
	.c-enquiry .c-enquiry__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); }
	.c-enquiry .c-enquiry__intro { grid-column: 1; align-self: start; position: sticky; top: calc(var(--l-header-h-lg) + var(--s-6)); }
	.c-enquiry .c-enquiry__form { grid-column: 3; }
}

/* ---------- Band: wide photograph between sections ---------- */
.c-band.c-band { margin: 0; overflow: hidden; aspect-ratio: 4 / 5; background: var(--c-surface-alt); }
.c-band.c-band img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 48em) { .c-band.c-band { aspect-ratio: 21 / 9; } }

/* ---------- Legal page ---------- */
.c-legal__status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); margin-top: var(--s-5); }
.c-legal .wp-block-post-content > * + * { margin-block-start: var(--s-5); }
.c-legal .wp-block-post-content > :is(h2, h3) { margin-block-start: var(--s-8); font-size: var(--f-size-h4); }
.c-chapter .c-chapter__links { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-7); margin-block-start: var(--s-7); }
.c-themes__heading.c-themes__heading { margin: 0 0 var(--s-7); color: var(--c-text-muted); }

/* ---------- Index links: large serif routes (404, archives) ---------- */
.c-index-links.c-index-links { margin: 0; padding: 0; list-style: none; border-top: var(--hairline) solid var(--c-line); }
.c-index-links.c-index-links > li { margin: 0; border-bottom: var(--hairline) solid var(--c-line); }
.c-index-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 4.5rem;
	font-family: var(--f-serif);
	font-size: var(--f-size-h4);
	font-weight: var(--f-weight-light);
	text-decoration: none;
	color: inherit;
	transition: color var(--d-base) var(--e-out), padding var(--d-slow) var(--e-out);
}
.c-index-links a::after { content: "→"; font-family: var(--f-sans); font-size: var(--f-size-body); color: var(--c-accent-text); }
[dir="rtl"] .c-index-links a::after { content: "←"; }
@media (hover: hover) { .c-index-links a:hover { padding-inline-start: var(--s-3); color: var(--c-accent-text); } }
/* Inside an 8/12 chapter body four steps read better as two pairs. */
@media (min-width: 64em) { .c-chapter__body .c-steps.c-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s-7); } }

/* ---------- Market context: sourced figures on a dark band ---------- */
.c-market .c-market__grid { grid-template-columns: minmax(0, 1fr); display: grid; gap: var(--s-8) var(--s-gutter); }
.c-market .c-market__grid > *, .c-market .c-market__figure > * { margin: 0; }
.c-market .c-market__intro > * + * { margin-block-start: var(--s-5); }
.c-market .c-market__figures { display: grid; gap: var(--s-6); align-content: end; }
.c-market .c-market__figures > * { margin: 0; }
.c-market .c-market__figure { display: grid; gap: var(--s-2); padding-top: var(--s-5); border-top: var(--hairline) solid var(--c-line); }
.c-market__value { font-family: var(--f-serif); font-size: var(--f-size-h1); font-weight: var(--f-weight-light); line-height: 1; font-variant-numeric: lining-nums; }
.c-market__label { max-width: 24rem; font-size: var(--f-size-small); color: var(--c-text-muted); }
.c-market__source { font-size: var(--f-size-caption); color: var(--c-text-muted); }
.c-market__source a { color: inherit; }
@media (min-width: 64em) {
	.c-market .c-market__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr); }
	.c-market .c-market__figures { grid-column: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-gutter); }
	.c-market .c-market__source { grid-column: 1 / -1; }
}

/* Template regions sit flush: no flow block-gap between bands inside <main>. */
main.l-main > * + * { margin-block-start: 0; }

/* Long submit labels inside enquiry sections may wrap on narrow phones (lead-form owner F). */
@media (max-width: 29.99em) { .c-enquiry .c-btn { white-space: normal; text-align: center; line-height: 1.4; } }
