/*
 * The Index — layout furniture.
 * Colours, type and spacing are theme.json presets; this file only arranges them.
 * Anchor: hero direction B (type led).
 */

:root {
	--ag-margin: var(--wp--custom--margin);
	--ag-gutter: var(--wp--custom--gutter);
	--ag-max: var(--wp--style--global--wide-size, 1320px);
	--ag-section: var(--wp--preset--spacing--60);
	--ag-ph: #D2CBBE;
	--ag-ph-text: #5D584F;
}

html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
.wp-site-blocks > * { margin-block-start: 0; }
/* Components own their rhythm: no inherited UA margins inside the index furniture. */
:where(.ag-main, .ag-header, .ag-footer) :where(h1, h2, h3, h4, p, ul, ol, figure, blockquote) { margin-block: 0; }
:focus-visible { outline: 2px solid var(--wp--preset--color--laterite); outline-offset: 3px; }
::selection { background: var(--wp--preset--color--laterite); color: var(--wp--preset--color--paper); }

/* ---------- Primitives ---------- */

.ag-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--ag-max) + 2 * var(--ag-margin));
	margin-inline: auto;
	padding-inline: var(--ag-margin);
}

.ag-wrap > *, .ag-grid > *, .ag-row > * { margin-block: 0; }

.ag-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--ag-gutter);
}

.ag-label, .ag-mono,
.ag-index-row .ag-role, .ag-index-row .ag-tag {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--mono);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone-text);
}
.ag-label strong, .ag-mono strong { font-weight: inherit; color: var(--wp--preset--color--laterite); }

.ag-measure { max-width: var(--wp--custom--measure); }

/* Every section: a full-width hairline, then a §-label top-left. */
.ag-section {
	border-top: 1px solid var(--wp--preset--color--rule);
	padding-top: 20px;
	padding-bottom: var(--ag-section);
}
.ag-section > .ag-label:first-child { margin-bottom: var(--wp--preset--spacing--50); }

/* CTAs are underlined text, never pills. */
.ag-ctas { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.ag-ctas a, a.ag-cta {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
	color: inherit;
}
.ag-ctas a:first-child, a.ag-cta--primary { color: var(--wp--preset--color--laterite); }
.ag-ctas a:hover, a.ag-cta:hover { text-decoration-thickness: 2px; color: var(--wp--preset--color--laterite); }

/* Serif italic accent — one phrase per headline. */
.ag-display em, .ag-hero-title em, .ag-h2 em, h1 em, h2 em { font-style: italic; color: var(--wp--preset--color--laterite); }

.ag-display {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.025em;
}
.ag-h2 {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--heading);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -.015em;
}

/* Placeholders — visible on purpose until Adha supplies the real thing. */
.ag-ph {
	display: flex;
	align-items: flex-end;
	box-sizing: border-box;
	padding: 14px;
	background: var(--ag-ph);
	color: var(--ag-ph-text);
	aspect-ratio: 3 / 2;
}
.ag-ph--4x5 { aspect-ratio: 4 / 5; }
.ag-ph--16x9 { aspect-ratio: 16 / 9; }
.ag-ph--1x1 { aspect-ratio: 1; }
.ag-todo {
	outline: 1px dashed var(--wp--preset--color--laterite);
	outline-offset: 4px;
}

/* Dark sections invert to ink; laterite and meta greys lift to keep AA contrast. */
.ag-dark {
	--wp--preset--color--laterite: var(--wp--preset--color--laterite-on-ink);
	--wp--preset--color--stone-text: #A8A194;
	--wp--preset--color--rule: #34312C;
	--ag-ph: #2B2925;
	--ag-ph-text: #8E877B;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}
.ag-dark .ag-section { border-top-color: transparent; }

/* ---------- Header ---------- */

.ag-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-block: 28px;
}
.ag-header .wp-block-site-title a { text-decoration: none; color: inherit; }
.ag-nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	padding-block: 14px;
}
.ag-nav .wp-block-navigation__container { gap: 28px; }
.ag-nav .wp-block-navigation-item__content:hover,
.ag-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--laterite); }
.ag-nav .ag-book > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--laterite);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}
.ag-nav .wp-block-navigation__responsive-container-open,
.ag-nav .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; }
.ag-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	padding: 28px var(--ag-margin);
}
.ag-nav .is-menu-open .wp-block-navigation__container { gap: 4px; }
.ag-nav .is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--heading);
	letter-spacing: -.015em;
	text-transform: none;
	padding-block: 6px;
}

/* ---------- Hero (anchor B) ---------- */

.ag-hero {
	display: flex;
	flex-direction: column;
	min-height: calc(100svh - 104px);
}
.ag-hero-body {
	flex: 1;
	align-items: center;
	padding-block: clamp(40px, 6vw, 80px) 40px;
}
.ag-hero-main { grid-column: 1 / 10; }
.ag-hero-main > .ag-label { margin-bottom: clamp(28px, 4vw, 48px); }
.ag-hero-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--hero);
	line-height: 1;
	letter-spacing: -.025em;
}
.ag-hero-title em { display: block; }
.ag-hero-main .ag-ctas { margin-top: clamp(36px, 4vw, 56px); }

.ag-contents {
	grid-column: 10 / 13;
	align-self: center;
	margin-left: var(--ag-gutter);
	padding-left: 20px;
	border-left: 1px solid var(--wp--preset--color--rule);
}
.ag-contents ol { list-style: none; margin: 14px 0 0; padding: 0; counter-reset: ag-ch; }
.ag-contents li {
	counter-increment: ag-ch;
	display: flex;
	gap: 14px;
	padding: 10px 0;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-contents li::before { content: counter(ag-ch, upper-roman); min-width: 2.2em; color: var(--wp--preset--color--stone-text); }
.ag-contents a { text-decoration: none; }

.ag-roles {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin: 0 0 28px;
	padding: 16px 0 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-roles li:first-child { color: var(--wp--preset--color--ink); }

@media (min-width: 901px) {
	.ag-hero-title { white-space: nowrap; }
}

/* ---------- Triad (§01) ---------- */

.ag-triad-row {
	padding-block: 32px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-triad-row:first-of-type { border-top: 0; }
.ag-triad-row > h3 { grid-column: 1 / 5; font-size: var(--wp--preset--font-size--heading); line-height: 1.05; letter-spacing: -.015em; }
.ag-triad-row > p:not(.ag-mono) { grid-column: 5 / 9; }
.ag-triad-row > .ag-mono { grid-column: 10 / 13; }
.ag-triad-row a { text-decoration: none; }

/* ---------- Feature (Dayaly Ops, §02) ---------- */

.ag-feature-num {
	grid-column: 1 / 4;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(120px, 18vw, 280px);
	line-height: .8;
	letter-spacing: -.04em;
	color: var(--wp--preset--color--laterite);
}
.ag-feature-head { grid-column: 4 / 13; align-self: end; }
.ag-feature-head > * + * { margin-top: 20px; }
.ag-feature-line { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--subheading); line-height: 1.3; max-width: 30ch; }
.ag-feature-body { margin-top: var(--wp--preset--spacing--50); row-gap: 48px; }
.ag-feature-text { grid-column: 1 / 8; }
.ag-feature-text > * + * { margin-top: 1.25em; }
.ag-feature-aside { grid-column: 9 / 13; }
.ag-feature-media { grid-column: 1 / -1; }

.ag-proof { list-style: none; margin: 14px 0 0; padding: 0; }
.ag-proof li { padding: 14px 0; border-top: 1px solid var(--wp--preset--color--rule); }
.ag-proof li:last-child { border-bottom: 1px solid var(--wp--preset--color--rule); }
.ag-proof a { text-decoration: none; font-family: var(--wp--preset--font-family--serif); font-size: 20px; line-height: 1.25; }
.ag-proof a:hover { color: var(--wp--preset--color--laterite); }
.ag-proof .ag-mono, .ag-proof em { display: block; margin-top: 4px; font-style: normal; }

/* ---------- Index (ventures) ---------- */

.ag-index { border-bottom: 1px solid var(--wp--preset--color--rule); }
.ag-index-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 5fr) 24px;
}
.ag-index-row::after { content: "→"; text-align: right; }
.ag-index-row--flag::after { content: "↑"; }
.ag-index-row {
	column-gap: var(--ag-gutter);
	align-items: baseline;
	padding-block: 20px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-index-row > * { margin: 0; }
.ag-index-row .ag-name { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--subheading); line-height: 1.15; }
.ag-index-row .ag-name a { text-decoration: none; }
.ag-index-row .ag-name a::after { content: ""; position: absolute; inset: 0; }
.ag-index-row .ag-line { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--stone-text); }
.ag-index-row:hover .ag-name, .ag-index-row:hover::after { color: var(--wp--preset--color--laterite); }
.ag-index-row--flag { padding-block: 28px 32px; }
.ag-index-row--flag .ag-name { font-size: clamp(36px, 3.6vw, 52px); line-height: 1; letter-spacing: -.02em; }
.ag-index-row--flag .ag-tag { color: var(--wp--preset--color--laterite); }
.ag-index-row .ag-tag { grid-column: 1 / -1; margin-bottom: 6px; }
.ag-index-foot { margin-top: 14px; }

/* Cursor-following thumbnail (desktop only). The row's image block is moved by motion.js. */
.ag-index-row .ag-thumb { display: none; }
.ag-cursor-thumb {
	position: fixed;
	z-index: 20;
	width: 220px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 200ms ease;
}
.ag-cursor-thumb.is-on { opacity: 1; }
.ag-cursor-thumb img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- Speaking (dark, §04) ---------- */

.ag-tracks { list-style: none; margin: 0; padding: 0; }
.ag-track {
	padding-block: 28px;
	border-top: 1px solid var(--wp--preset--color--rule);
	align-items: baseline;
}
.ag-track > .ag-mono { grid-column: 1 / 3; }
.ag-track > h3 { grid-column: 3 / 10; font-size: var(--wp--preset--font-size--title); line-height: 1.02; letter-spacing: -.02em; }
.ag-track > h3 em { color: var(--wp--preset--color--laterite); }
.ag-track > p:not(.ag-mono) { grid-column: 3 / 10; margin-top: 14px; max-width: 56ch; }
.ag-track > .ag-track-meta { grid-column: 10 / 13; grid-row: 1; }
.ag-track-meta > * + * { margin-top: 8px; }
.ag-stages { margin-top: var(--wp--preset--spacing--50); row-gap: 40px; align-items: end; }
.ag-stages > .ag-ph, .ag-stages > figure { grid-column: 1 / 8; }
.ag-stages > .ag-stage-names { grid-column: 9 / 13; }

/* ---------- Journal list ---------- */

.ag-post-list { list-style: none; margin: 0; padding: 0; }
.ag-post-list > li {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--ag-gutter);
	padding-block: 28px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-post-list > li:last-child { border-bottom: 1px solid var(--wp--preset--color--rule); }
.ag-post-list > li > * { margin: 0; }
.ag-post-list .wp-block-post-terms { grid-column: 1 / 4; }
.ag-post-list .wp-block-post-terms a { text-decoration: none; }
.ag-post-list .wp-block-post-title { grid-column: 4 / 11; font-size: var(--wp--preset--font-size--heading); line-height: 1.08; }
.ag-post-list .wp-block-post-title a { text-decoration: none; }
.ag-post-list .wp-block-post-title a:hover { color: var(--wp--preset--color--laterite); }
.ag-post-list .wp-block-post-excerpt { grid-column: 4 / 11; margin-top: 12px; color: var(--wp--preset--color--stone-text); }
.ag-post-list .wp-block-post-excerpt__excerpt { margin: 0; }
.ag-post-list .wp-block-post-excerpt__more-text { display: none; }

.ag-filter { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 0 0 32px; padding: 0; list-style: none; }
.ag-filter a { display: inline-flex; min-height: 44px; align-items: center; text-decoration: none; }
.ag-filter a:hover, .ag-filter .is-current a { color: var(--wp--preset--color--laterite); }

/* ---------- Pull quote ---------- */

.ag-quote {
	max-width: 22ch;
	margin-inline: auto;
	text-align: center;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--title);
	line-height: 1.05;
	letter-spacing: -.02em;
}
.ag-quote-cite { text-align: center; margin-top: 28px; }

/* ---------- Footer ---------- */

.ag-footer { padding-block: var(--wp--preset--spacing--50) 28px; }
.ag-footer-mail {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(28px, 5.4vw, 72px);
	line-height: 1.05;
	letter-spacing: -.02em;
	overflow-wrap: anywhere;
}
.ag-footer-mail a { text-decoration-thickness: 1px; text-underline-offset: .12em; }
.ag-footer-grid { margin-top: var(--wp--preset--spacing--50); row-gap: 24px; align-items: end; }
.ag-footer-links { grid-column: 1 / 7; display: flex; flex-wrap: wrap; gap: 4px 28px; list-style: none; margin: 0; padding: 0; }
.ag-footer-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.ag-footer-links a:hover { color: var(--wp--preset--color--laterite); }
.ag-footer-triad { grid-column: 7 / 13; text-align: right; color: var(--wp--preset--color--paper); }
.ag-footer-small { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--wp--preset--color--rule); }

/* ---------- Pages ---------- */

.ag-page-head { padding-block: clamp(40px, 6vw, 96px) var(--wp--preset--spacing--50); }
.ag-page-head > .ag-label { margin-bottom: clamp(28px, 4vw, 48px); }
.ag-page-head h1 { margin: 0; max-width: 18ch; }
.ag-page-head .ag-lede { margin-top: 28px; max-width: 46ch; font-size: 20px; }

.ag-split > .ag-main-col { grid-column: 1 / 8; }
.ag-split > .ag-main-col > * + * { margin-top: 1.25em; }
.ag-split > .ag-margin-col { grid-column: 9 / 13; }
.ag-split > .ag-margin-col > * + * { margin-top: 20px; }

.ag-lead { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--subheading); line-height: 1.35; }

/* Field notes: a sequence told typographically, no dates. */
.ag-notes { list-style: none; margin: 0; padding: 0; counter-reset: ag-note; }
.ag-notes > li {
	counter-increment: ag-note;
	position: relative;
	padding: 22px 0 22px 88px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-notes > li::before {
	content: counter(ag-note, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--mono);
	letter-spacing: .08em;
	color: var(--wp--preset--color--laterite);
	position: absolute;
	left: 0;
	top: calc(22px + .55em);
}
.ag-notes strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--subheading); font-weight: 400; line-height: 1.2; }

.ag-creds { list-style: none; margin: 0; padding: 0; }
.ag-creds li { padding: 14px 0; border-top: 1px solid var(--wp--preset--color--rule); }

/* Venture entries on /ventures */
.ag-entry { padding-block: 40px; border-top: 1px solid var(--wp--preset--color--rule); row-gap: 16px; }
.ag-entry > .ag-entry-head { grid-column: 1 / 5; }
.ag-entry > .ag-entry-body { grid-column: 5 / 10; }
.ag-entry > .ag-entry-meta { grid-column: 10 / 13; }
.ag-entry-head h3 { margin: 0; font-size: var(--wp--preset--font-size--heading); line-height: 1.05; }
.ag-entry-head .ag-mono { margin-top: 8px; }
.ag-entry-meta > * + * { margin-top: 10px; }
.ag-group-label { margin-top: var(--wp--preset--spacing--50); margin-bottom: 0; }

/* Speaking talks index */
.ag-talks { list-style: none; margin: 0 0 var(--wp--preset--spacing--50); padding: 0; }
.ag-talks li {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	column-gap: var(--ag-gutter);
	align-items: baseline;
	padding-block: 16px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.ag-talks li:last-child { border-bottom: 1px solid var(--wp--preset--color--rule); }
.ag-talks .ag-mono { order: -1; }
.ag-talks li > a { grid-column: 2; justify-self: start; }
.ag-talks strong { font-family: var(--wp--preset--font-family--serif); font-size: 21px; font-weight: 400; line-height: 1.25; }

/* Press kit */
.ag-bio { padding: 24px 0; border-top: 1px solid var(--wp--preset--color--rule); }
.ag-bio > * + * { margin-top: 12px; }
.ag-copy {
	min-height: 44px;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	font: 500 var(--wp--preset--font-size--mono)/1 var(--wp--preset--font-family--mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--laterite);
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* Contact / enquiry */
.ag-mail-display {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(30px, 7vw, 120px);
	line-height: 1;
	letter-spacing: -.03em;
	overflow-wrap: anywhere;
}
.ag-mail-display a { text-decoration-thickness: 1px; text-underline-offset: .1em; }
.ag-mail-display a:hover { color: var(--wp--preset--color--laterite); }

/* ---------- Single post ---------- */

.ag-article-head { padding-block: clamp(40px, 6vw, 96px) var(--wp--preset--spacing--40); }
.ag-article-head > * + * { margin-top: 24px; }
.ag-article-head .wp-block-post-title { max-width: 20ch; font-size: var(--wp--preset--font-size--title); }
.ag-article-head .wp-block-post-excerpt { max-width: 52ch; font-size: 20px; color: var(--wp--preset--color--stone-text); }
.ag-article-head .wp-block-post-excerpt__more-text { display: none; }
.ag-article-head .wp-block-post-terms a { text-decoration: none; }

.ag-article .wp-block-post-content { max-width: var(--wp--custom--measure); }
.ag-article .wp-block-post-content > * + * { margin-top: 1.25em; }
.ag-article .wp-block-post-content h2 { margin-top: 2em; font-size: var(--wp--preset--font-size--heading); }
.ag-article .wp-block-post-content h3 { margin-top: 1.6em; }
.ag-article .wp-block-pullquote {
	margin-block: 2em;
	padding: 28px 0;
	border-block: 1px solid var(--wp--preset--color--rule);
	text-align: left;
}
.ag-article .wp-block-pullquote p { margin: 0; }
.ag-article .wp-block-pullquote cite { display: block; margin-top: 14px; font: 500 12px/1.5 var(--wp--preset--font-family--mono); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: var(--wp--preset--color--stone-text); }
.ag-article .wp-block-quote { margin-inline: 0; padding-left: 20px; border-left: 1px solid var(--wp--preset--color--laterite); }

/* Marginal note: Paragraph with the "Marginal note" style. Floats into the margin on wide screens. */
.is-style-ag-margin-note {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.6;
	color: var(--wp--preset--color--stone-text);
	border-top: 1px solid var(--wp--preset--color--rule);
	padding-top: 10px;
}
@media (min-width: 1180px) {
	.ag-article .is-style-ag-margin-note {
		float: right;
		clear: right;
		width: 240px;
		margin: .3em calc(-240px - 72px) 1em 0 !important;
	}
}

.ag-author { margin-top: var(--wp--preset--spacing--50); padding-top: 24px; border-top: 1px solid var(--wp--preset--color--rule); max-width: var(--wp--custom--measure); }
.ag-author > * + * { margin-top: 10px; }
.ag-write { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--subheading); }

/* ---------- 404 ---------- */

.ag-404 { min-height: 60svh; display: flex; flex-direction: column; justify-content: center; }
.ag-404 > * + * { margin-top: 28px; }

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: no-preference) {
	.ag-js .ag-fade {
		opacity: 0;
		transform: translateY(var(--wp--custom--motion--distance, 12px));
		transition: opacity var(--wp--custom--motion--duration, 400ms) ease, transform var(--wp--custom--motion--duration, 400ms) ease;
	}
	.ag-js .ag-fade.is-in { opacity: 1; transform: none; }
}

/* ---------- Narrow screens ---------- */

@media (max-width: 900px) {
	.ag-grid > * { grid-column: 1 / -1 !important; }
	.ag-contents { margin: 56px 0 0; padding-left: 0; border-left: 0; }
	.ag-triad-row > p:not(.ag-mono), .ag-triad-row > .ag-mono { margin-top: 12px; }
	.ag-feature-num { font-size: 120px; }
	.ag-feature-head { margin-top: 24px; }
	.ag-index-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
	.ag-index-row .ag-line { grid-column: 1 / -1; }
	.ag-index-row::after { display: none; }
	.ag-index-row .ag-role { text-align: right; }
	.ag-track > .ag-track-meta { grid-row: auto; }
	.ag-track > .ag-track-meta, .ag-track > p:not(.ag-mono) { margin-top: 12px; }
	.ag-talks li > a { grid-column: 1; }
	.ag-post-list .wp-block-post-title, .ag-post-list .wp-block-post-excerpt { margin-top: 10px; }
	.ag-footer-triad { text-align: left; }
	.ag-talks li { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
	.ag-entry > * + * { margin-top: 12px; }
}

/* Sub-labels inside long feature text, and stacked asides. */
.ag-feature-text > .ag-label:not(:first-child) { margin-top: 2.5em; }
.ag-feature-aside > * + * { margin-top: 14px; }
.ag-feature-aside > .ag-proof + .ag-label, .ag-feature-aside > .ag-mono + .ag-label { margin-top: 36px; }
/* Track meta keys stay quiet: laterite is capped at three uses per viewport. */
.ag-track-meta strong { color: inherit; }

/* Tap targets ≥ 44px for navigational links that are not inside running text. */
.ag-header .wp-block-site-title a,
.ag-contents a,
.ag-triad-row .ag-mono a,
.ag-post-list .wp-block-post-terms a,
.ag-article-head .wp-block-post-terms a,
.ag-footer-small a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
.ag-contents li { padding: 0; align-items: center; }
.ag-proof li { padding: 10px 0; }
.ag-proof a { display: inline-block; padding-block: 12px 4px; }

/* ---------- Photography ---------- */

.ag-photo { margin: 0; }
.ag-photo img { display: block; width: 100%; height: auto; object-fit: cover; aspect-ratio: 3 / 2; }
.ag-photo--16x9 img { aspect-ratio: 16 / 9; }
.ag-photo--4x5 img { aspect-ratio: 4 / 5; }
.ag-photo--3x2 img { aspect-ratio: 3 / 2; }
.ag-photo figcaption { margin-top: 10px; }
.ag-stages > .ag-photo { grid-column: 1 / 8; }

.ag-masters { grid-column: 1 / -1; margin-top: 32px; }
.ag-masters > .ag-label { margin-bottom: 16px; }
.ag-gallery { display: grid; gap: var(--ag-gutter); }
.ag-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ag-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
	.ag-gallery--3, .ag-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ag-split > .ag-main-col.ag-photo--4x5 { grid-column: 1 / 5; }
.ag-split > .ag-main-col.ag-photo--4x5 + .ag-margin-col { grid-column: 6 / 13; align-self: end; }

/* On screen (Speaking): a wide frame from the set, the slate beside it, one line under. */
.ag-photo--21x9 img { aspect-ratio: 21 / 9; }
.ag-onscreen { row-gap: 24px; align-items: start; }
.ag-onscreen > .ag-onscreen-wide { grid-column: 1 / 9; }
.ag-onscreen > .ag-onscreen-slate { grid-column: 9 / 12; }
.ag-onscreen > .ag-onscreen-line { grid-column: 1 / 9; }
.ag-photo figcaption .ag-lesson {
	display: block;
	margin-top: 6px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
}
.ag-margin-col > .ag-photo + .ag-photo { margin-top: 28px; }
.ag-section > .ag-lead + .ag-gallery { margin-top: 40px; }

/* Mobile menu overlay: core paints it white with higher specificity; keep it on paper, set left like the page. */
.ag-header .wp-block-navigation.ag-nav:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--wp--preset--color--paper); }
.ag-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.ag-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start; }
.ag-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; }
/* Core aligns the overlay with the desktop justification (right); the overlay itself should read from the left. */
body .ag-header .wp-block-navigation.ag-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
body .ag-header .wp-block-navigation.ag-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start; }

/* On screen: campaign row under the film row. */
.ag-onscreen--model { margin-top: 48px; align-items: end; }
.ag-onscreen--model > .ag-photo:nth-child(1) { grid-column: 1 / 4; }
.ag-onscreen--model > .ag-photo:nth-child(2) { grid-column: 4 / 7; }
.ag-onscreen--model > .ag-onscreen-line { grid-column: 1 / 9; }
.ag-downloads { flex-direction: column; align-items: flex-start; gap: 0; }
@media (max-width: 900px) {
	.ag-onscreen--model { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ag-onscreen--model > .ag-photo:nth-child(1), .ag-onscreen--model > .ag-photo:nth-child(2) { grid-column: auto !important; }
}

/* Field notes: Dayaly Ops is the flagship entry. */
.ag-notes > li.ag-note--flag { padding-block: 32px 30px; }
.ag-notes > li.ag-note--flag::before { top: calc(32px + 1.9em); }
.ag-notes .ag-flag {
	display: block;
	margin-bottom: 6px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--laterite);
}
.ag-notes > li.ag-note--flag strong { font-size: var(--wp--preset--font-size--heading); line-height: 1.05; letter-spacing: -.015em; margin-bottom: 8px; }

/* On stage (Speaking): a click-to-play clip sits in the same 4:5 frame as the photos. No autoplay. */
.ag-video { margin: 0; }
.ag-video video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--wp--preset--color--ink); }
.ag-video figcaption { margin-top: 10px; }
@media (max-width: 600px) {
	.ag-gallery > .ag-video { grid-column: 1 / -1; }
}

/* Hero: portrait sits in the right margin above the contents index; the thesis keeps columns 1–9. */
.ag-hero-aside { grid-column: 10 / 13; align-self: center; margin-left: var(--ag-gutter); }
.ag-hero-aside .ag-contents { grid-column: auto; margin: 20px 0 0; padding-left: 0; border-left: 0; }
.ag-hero-portrait img { aspect-ratio: 4 / 5; }
@media (max-width: 900px) {
	.ag-hero-aside { margin: 48px 0 0; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--ag-gutter); align-items: end; }
	.ag-hero-aside .ag-contents { margin: 0; }
}

/* Home §04: the On stage strip sits under the tracks; stage names and CTAs follow, left-aligned. */
.ag-stages-strip { margin-top: var(--wp--preset--spacing--50); }
.ag-stages--below { margin-top: 40px; }
.ag-stages--below > .ag-stage-names { grid-column: 1 / 8; }

/* Ventures index on touch screens: no hover, so rows with a photo show it inline at the right. */
@media (max-width: 900px), (hover: none) {
	.ag-index-row--thumb { padding-right: 96px; min-height: 104px; }
	.ag-index-row--thumb .ag-thumb { display: block; position: absolute; right: 0; top: 20px; width: 80px; margin: 0; }
	.ag-index-row--thumb .ag-thumb img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
}
