/*
Theme Name: GeoArches Editorial Safe
Theme URI: https://geoarches.com
Author: GeoArches Lab
Author URI: https://geoarches.com
Description: A conservative editorial WordPress theme for Reed Goodman and GeoArches, combining modern clarity with documentary field storytelling and field photography from the Lowcountry and southern Iraq.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Version: 1.2.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: geoarches-editorial-safe
Tags: block-patterns, full-site-editing, wide-blocks, accessibility-ready, custom-colors, custom-logo, editor-style
*/
:root {
	--ga-shell: #f5f1e8;
	--ga-paper: #fbfaf6;
	--ga-ink: #142d2e;
	--ga-ink-soft: #294547;
	--ga-marsh: #536950;
	--ga-tidal: #718f91;
	--ga-silt: #c2a06a;
	--ga-rust: #b85535;
	--ga-orange: #f56600;
	--ga-line: rgba(20, 45, 46, 0.16);
	--ga-line-light: rgba(255, 255, 255, 0.22);
	--ga-shadow: 0 24px 70px rgba(20, 45, 46, 0.12);
	--ga-radius-sm: 0.45rem;
	--ga-radius-md: 1rem;
	--ga-radius-lg: 1.75rem;
	--ga-content: 760px;
	--ga-wide: 1320px;
	--ga-header-height: 88px;
}

html {
	scroll-behavior: smooth;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: var(--ga-silt);
	color: var(--ga-ink);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.07em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--ga-orange);
	outline-offset: 4px;
}

.ga-skip-link {
	position: fixed;
	z-index: 99999;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.75rem 1rem;
	background: var(--ga-ink);
	color: #fff;
	font-weight: 700;
	transform: translateY(-180%);
	transition: transform 150ms ease;
}

.ga-skip-link:focus {
	transform: translateY(0);
}

/* Header */
.ga-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid var(--ga-line);
	background: color-mix(in srgb, var(--ga-paper) 92%, transparent);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.admin-bar .ga-site-header {
	top: 32px;
}

.ga-header-inner {
	min-height: var(--ga-header-height);
	gap: clamp(1rem, 3vw, 2.5rem);
}

.ga-brand {
	min-width: min(23rem, 52vw);
	gap: 0.85rem;
}

.ga-brand .wp-block-site-logo img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: 50%;
}

.ga-brand-copy {
	gap: 0.1rem !important;
}

.ga-site-title,
.ga-site-title a {
	margin: 0;
	color: var(--ga-ink);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.35rem, 1.8vw, 1.7rem);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.ga-site-tagline {
	margin: 0;
	color: var(--ga-ink-soft);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.25;
	text-transform: uppercase;
}

.ga-primary-nav {
	margin-left: auto;
}

.ga-primary-nav .wp-block-page-list {
	display: flex;
	align-items: center;
	gap: clamp(0.8rem, 1.4vw, 1.35rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ga-primary-nav .wp-block-pages-list__item {
	position: relative;
	margin: 0;
	list-style: none;
}

.ga-primary-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--ga-ink);
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.065em;
	text-decoration: none;
	text-transform: uppercase;
}

.ga-primary-nav a:hover,
.ga-primary-nav .current_page_item > a,
.ga-primary-nav .current_page_ancestor > a {
	color: var(--ga-rust);
}

.ga-primary-nav .children {
	position: absolute;
	top: calc(100% - 0.15rem);
	left: -1rem;
	display: grid;
	min-width: 15rem;
	margin: 0;
	padding: 0.65rem;
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-sm);
	background: var(--ga-paper);
	box-shadow: var(--ga-shadow);
	list-style: none;
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.4rem);
	transition: opacity 140ms ease, transform 140ms ease;
}

.ga-primary-nav li:hover > .children,
.ga-primary-nav li:focus-within > .children {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.ga-primary-nav .children a {
	width: 100%;
	padding: 0.45rem 0.6rem;
	font-size: 0.72rem;
}

.ga-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0;
	border: 1px solid var(--ga-line);
	border-radius: 999px;
	background: transparent;
	color: var(--ga-ink);
	cursor: pointer;
}

.ga-nav-toggle__icon,
.ga-nav-toggle__icon::before,
.ga-nav-toggle__icon::after {
	display: block;
	width: 20px;
	height: 1.5px;
	background: currentColor;
	content: "";
	transition: transform 160ms ease, opacity 160ms ease;
}

.ga-nav-toggle__icon {
	position: relative;
}

.ga-nav-toggle__icon::before {
	position: absolute;
	top: -6px;
}

.ga-nav-toggle__icon::after {
	position: absolute;
	top: 6px;
}

.ga-nav-toggle[aria-expanded="true"] .ga-nav-toggle__icon {
	background: transparent;
}

.ga-nav-toggle[aria-expanded="true"] .ga-nav-toggle__icon::before {
	transform: translateY(6px) rotate(45deg);
}

.ga-nav-toggle[aria-expanded="true"] .ga-nav-toggle__icon::after {
	transform: translateY(-6px) rotate(-45deg);
}

/* Shared editorial components */
.ga-main {
	min-height: 60vh;
}

.ga-main p:empty { display: none; }

.ga-main .alignwide {
	box-sizing: border-box;
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}

.ga-section {
	padding-top: clamp(4.5rem, 8vw, 8.5rem);
	padding-bottom: clamp(4.5rem, 8vw, 8.5rem);
}

.ga-section--compact {
	padding-top: clamp(3.25rem, 6vw, 6rem);
	padding-bottom: clamp(3.25rem, 6vw, 6rem);
}

.ga-section--paper {
	background: var(--ga-paper);
}

.ga-section--ink {
	background: var(--ga-ink);
	color: var(--ga-paper);
}

.ga-section--tidal {
	background: #dce5e2;
}

.ga-section--silt {
	background: #e8dcc5;
}

.ga-kicker {
	margin-bottom: 1rem;
	color: var(--ga-rust);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ga-section--ink .ga-kicker {
	color: #e8bf80;
}

.ga-display {
	max-width: 13ch;
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(3.2rem, 7.7vw, 8.1rem);
	font-weight: 500;
	letter-spacing: -0.045em;
	line-height: 0.93;
}

.ga-title {
	max-width: 16ch;
	margin-top: 0;
	margin-bottom: 1.35rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.5rem, 5vw, 5.4rem);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1;
}

.ga-subtitle {
	max-width: 22ch;
	margin-top: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.85rem, 3.2vw, 3.35rem);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.08;
}

.ga-lede {
	max-width: 65ch;
	color: var(--ga-ink-soft);
	font-size: clamp(1.08rem, 1.7vw, 1.36rem);
	line-height: 1.65;
}

.ga-section--ink .ga-lede,
.ga-section--ink p {
	color: rgba(251, 250, 246, 0.8);
}

.ga-rule {
	width: 100%;
	height: 1px;
	margin: clamp(2rem, 5vw, 4rem) 0;
	background: var(--ga-line);
}

.ga-number {
	display: inline-grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.ga-button-row {
	gap: 0.75rem;
	margin-top: 2rem;
}

.wp-block-button__link,
.wp-element-button {
	min-height: 48px;
	padding: 0.85rem 1.15rem;
	border: 1px solid var(--ga-ink);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.075em;
	line-height: 1;
	text-transform: uppercase;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	transform: translateY(-2px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ga-ink);
}

.ga-section--ink .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.55);
	color: #fff;
}

.ga-section--ink .wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: #fff;
	background: #fff;
	color: var(--ga-ink);
}

/* Hero */
.ga-hero {
	position: relative;
	overflow: hidden;
	min-height: calc(100svh - var(--ga-header-height));
	padding-top: clamp(4rem, 8vw, 8rem);
	padding-bottom: clamp(4rem, 8vw, 8rem);
	background:
		radial-gradient(circle at 84% 26%, rgba(113, 143, 145, 0.3), transparent 31%),
		linear-gradient(145deg, var(--ga-shell) 0%, #eee5d4 56%, #cad7d3 100%);
}

.ga-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		repeating-radial-gradient(ellipse at 85% 55%, transparent 0 25px, rgba(20, 45, 46, 0.07) 26px 27px, transparent 28px 47px);
	content: "";
	mask-image: linear-gradient(to left, #000 0 52%, transparent 85%);
	pointer-events: none;
}

.ga-hero__inner {
	position: relative;
	z-index: 1;
}

.ga-hero__columns {
	align-items: center !important;
	gap: clamp(3rem, 7vw, 8rem);
}

.ga-hero__copy {
	flex-basis: 60% !important;
}

.ga-hero__visual-column {
	flex-basis: 40% !important;
}

.ga-landscape-visual {
	position: relative;
	isolation: isolate;
	min-height: clamp(25rem, 51vw, 43rem);
	border: 1px solid rgba(20, 45, 46, 0.2);
	border-radius: 48% 48% 1.5rem 1.5rem / 28% 28% 1.5rem 1.5rem;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.45), transparent 35%),
		linear-gradient(160deg, #9bb0ac 0%, #6f8d88 33%, #394f49 67%, #183132 100%);
	box-shadow: var(--ga-shadow);
	overflow: hidden;
}

.ga-landscape-visual::before {
	position: absolute;
	inset: 0;
	background:
		repeating-radial-gradient(ellipse at 44% 110%, transparent 0 20px, rgba(245, 241, 232, 0.38) 22px 23px, transparent 24px 38px),
		linear-gradient(110deg, transparent 0 47%, rgba(225, 200, 153, 0.55) 48% 50%, transparent 51% 100%);
	content: "";
	mix-blend-mode: screen;
	opacity: 0.8;
}

.ga-landscape-visual::after {
	position: absolute;
	inset: 10% 8%;
	border: 1px solid rgba(255,255,255,0.38);
	border-radius: 48% 48% 0.85rem 0.85rem / 25% 25% 0.85rem 0.85rem;
	content: "";
}

.ga-landscape-visual__channel {
	position: absolute;
	z-index: 2;
	top: -8%;
	left: 44%;
	width: 21%;
	height: 118%;
	border-right: 1px solid rgba(255,255,255,0.65);
	border-left: 1px solid rgba(255,255,255,0.5);
	background: linear-gradient(90deg, rgba(245,241,232,0.08), rgba(245,241,232,0.33), rgba(245,241,232,0.06));
	transform: rotate(13deg);
}

.ga-landscape-visual__line {
	position: absolute;
	z-index: 3;
	left: 8%;
	width: 84%;
	height: 1px;
	background: rgba(255,255,255,0.42);
}

.ga-landscape-visual__line--one { top: 32%; transform: rotate(-8deg); }
.ga-landscape-visual__line--two { top: 54%; transform: rotate(6deg); }
.ga-landscape-visual__line--three { top: 76%; transform: rotate(-3deg); }

.ga-landscape-visual__label {
	position: absolute;
	z-index: 4;
	padding: 0.45rem 0.65rem;
	border: 1px solid rgba(255,255,255,0.45);
	border-radius: 999px;
	background: rgba(20,45,46,0.28);
	color: #fff;
	font-size: 0.63rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

.ga-landscape-visual__label--one { top: 18%; left: 10%; }
.ga-landscape-visual__label--two { right: 9%; bottom: 14%; }

.ga-hero__note {
	max-width: 40rem;
	margin-top: clamp(2.5rem, 5vw, 5rem);
	padding-top: 1rem;
	border-top: 1px solid var(--ga-line);
	font-size: 0.82rem;
	font-weight: 650;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

/* Project chapters */
.ga-project-grid {
	gap: 1rem !important;
}

.ga-project-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 34rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-md);
	background: var(--ga-paper);
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.ga-project-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--ga-shadow);
}

.ga-project-card::before {
	position: absolute;
	inset: auto -20% -26% 12%;
	height: 56%;
	border-radius: 50% 50% 0 0;
	background: repeating-radial-gradient(ellipse at 55% 100%, transparent 0 20px, rgba(20,45,46,0.09) 21px 22px, transparent 23px 37px);
	content: "";
	pointer-events: none;
}

.ga-project-card--rice { background: linear-gradient(165deg, #edf0e6, #d4ddcc); }
.ga-project-card--core { background: linear-gradient(165deg, #f3e9d8, #ddc9a9); }
.ga-project-card--eden { background: linear-gradient(165deg, #dfe9e7, #aebfbd); }

.ga-project-card > * {
	position: relative;
	z-index: 1;
}

.ga-project-card .ga-project-card__body {
	margin-top: auto;
}

.ga-project-card :is(h2, h3) {
	max-width: 13ch;
	margin-top: 1rem;
	margin-bottom: 1rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2rem, 3.4vw, 3.35rem);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.04;
}

.ga-project-card p {
	color: var(--ga-ink-soft);
}

.ga-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
	color: var(--ga-ink);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.ga-text-link::after {
	content: "→";
	transition: transform 140ms ease;
}

.ga-text-link:hover::after {
	transform: translateX(0.3rem);
}

/* Comparative map */
.ga-two-deltas {
	position: relative;
	min-height: 29rem;
	border: 1px solid var(--ga-line-light);
	border-radius: var(--ga-radius-md);
	background:
		radial-gradient(ellipse at 16% 60%, rgba(194,160,106,0.28) 0 9%, transparent 10%),
		radial-gradient(ellipse at 84% 47%, rgba(113,143,145,0.42) 0 10%, transparent 11%),
		linear-gradient(145deg, rgba(255,255,255,0.05), transparent);
	overflow: hidden;
}

.ga-two-deltas::before,
.ga-two-deltas::after {
	position: absolute;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 50%;
	content: "";
}

.ga-two-deltas::before {
	width: 45rem;
	height: 22rem;
	top: 4rem;
	left: -20rem;
}

.ga-two-deltas::after {
	width: 36rem;
	height: 20rem;
	right: -14rem;
	bottom: 1rem;
}

.ga-two-deltas__line {
	position: absolute;
	top: 51%;
	left: 22%;
	width: 56%;
	height: 1px;
	background: rgba(255,255,255,0.55);
	transform: rotate(-5deg);
}

.ga-two-deltas__line::before,
.ga-two-deltas__line::after {
	position: absolute;
	top: 50%;
	width: 0.65rem;
	height: 0.65rem;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--ga-ink);
	content: "";
	transform: translateY(-50%);
}

.ga-two-deltas__line::before { left: 0; }
.ga-two-deltas__line::after { right: 0; }

.ga-two-deltas__label {
	position: absolute;
	max-width: 12rem;
	color: #fff;
}

.ga-two-deltas__label strong {
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.55rem;
	font-weight: 500;
}

.ga-two-deltas__label span {
	display: block;
	margin-top: 0.35rem;
	color: rgba(255,255,255,0.66);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ga-two-deltas__label--west { left: 8%; bottom: 17%; }
.ga-two-deltas__label--east { top: 14%; right: 8%; text-align: right; }

/* Methods */
.ga-methods-grid {
	gap: 0 !important;
	border-top: 1px solid var(--ga-line);
	border-left: 1px solid var(--ga-line);
}

.ga-method-card {
	min-height: 17rem;
	padding: clamp(1.4rem, 3vw, 2.2rem);
	border-right: 1px solid var(--ga-line);
	border-bottom: 1px solid var(--ga-line);
}

.ga-method-card h3 {
	margin-top: 2.25rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	font-weight: 500;
}

.ga-method-card p {
	font-size: 0.95rem;
}

/* Query and editorial cards */
.ga-query .wp-block-post-template {
	gap: 1rem;
}

.ga-query .wp-block-post {
	position: relative;
	padding: 1.4rem;
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-sm);
	background: var(--ga-paper);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.ga-query .wp-block-post:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 45px rgba(20,45,46,0.1);
}

.ga-query .wp-block-post-featured-image {
	margin: -1.4rem -1.4rem 1.25rem;
	overflow: hidden;
	border-radius: var(--ga-radius-sm) var(--ga-radius-sm) 0 0;
}

.ga-query .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 400ms ease;
}

.ga-query .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.025);
}

.ga-query .wp-block-post-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.55rem;
	font-weight: 500;
	line-height: 1.15;
}

.ga-query .wp-block-post-title a {
	color: var(--ga-ink);
	text-decoration: none;
}

.ga-query .wp-block-post-date,
.ga-query .wp-block-post-terms {
	color: var(--ga-rust);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ga-query .wp-block-post-excerpt {
	color: var(--ga-ink-soft);
	font-size: 0.92rem;
}

.ga-empty-state {
	padding: 2rem;
	border: 1px dashed var(--ga-line);
	border-radius: var(--ga-radius-sm);
	color: var(--ga-ink-soft);
}

/* Interior page hero */
.ga-page-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(5rem, 10vw, 10rem);
	padding-bottom: clamp(4rem, 8vw, 7.5rem);
	border-bottom: 1px solid var(--ga-line);
	background: linear-gradient(145deg, var(--ga-shell), #dde7e3);
}

.ga-page-hero::after {
	position: absolute;
	inset: auto -10% -50% 36%;
	height: 100%;
	background: repeating-radial-gradient(ellipse at 50% 100%, transparent 0 22px, rgba(20,45,46,0.08) 23px 24px, transparent 25px 42px);
	content: "";
	pointer-events: none;
}

.ga-page-hero__inner {
	position: relative;
	z-index: 1;
}

.ga-project-hero--rice { background: linear-gradient(145deg, #eff2e9, #cfdaca); }
.ga-project-hero--core { background: linear-gradient(145deg, #f4ead9, #dac29b); }
.ga-project-hero--eden { background: linear-gradient(145deg, #e3ecea, #aabdb9); }

.ga-page-hero .ga-title {
	max-width: 14ch;
}

.ga-project-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.4rem;
	margin-top: 2.25rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--ga-line);
	color: var(--ga-ink-soft);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ga-question-grid {
	gap: 1rem !important;
}

.ga-question-card {
	min-height: 16rem;
	padding: 1.5rem;
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-sm);
}

.ga-question-card h3 {
	margin-top: 3rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.55rem;
	font-weight: 500;
	line-height: 1.12;
}

.ga-prose > * {
	max-width: var(--ga-content);
	margin-right: auto;
	margin-left: auto;
}

.ga-prose > .alignwide {
	max-width: var(--ga-wide);
}

.ga-prose p,
.ga-prose li {
	font-size: clamp(1rem, 1.2vw, 1.12rem);
}

.ga-prose h2 {
	margin-top: 3.2rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	font-weight: 500;
	letter-spacing: -0.025em;
}

.ga-prose blockquote {
	max-width: 950px;
	margin-top: 3rem;
	margin-bottom: 3rem;
	padding: 1.5rem 0 1.5rem clamp(1.5rem, 5vw, 4rem);
	border-left: 1px solid var(--ga-rust);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.45rem, 2.6vw, 2.5rem);
	line-height: 1.25;
}

/* Single/archive templates */
.ga-entry-header {
	padding-top: clamp(4rem, 8vw, 8rem);
	padding-bottom: clamp(2.5rem, 5vw, 5rem);
	border-bottom: 1px solid var(--ga-line);
}

.ga-entry-header .wp-block-post-title {
	max-width: 18ch;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.8rem, 6vw, 6rem);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.ga-entry-meta {
	color: var(--ga-rust);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ga-entry-content {
	padding-top: clamp(3.5rem, 7vw, 7rem);
	padding-bottom: clamp(4rem, 8vw, 8rem);
}

/* Footer */
.ga-site-footer {
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: 2rem;
	background: #0d2425;
	color: #fff;
}

.ga-footer-grid {
	gap: clamp(2rem, 6vw, 7rem) !important;
}

.ga-footer-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2rem, 4vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
}

.ga-footer-copy {
	max-width: 45ch;
	color: rgba(255,255,255,0.68);
}

.ga-footer-nav .wp-block-page-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.35rem 1.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ga-footer-nav .children {
	display: none;
}

.ga-footer-nav a {
	color: rgba(255,255,255,0.82);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
}

.ga-footer-nav a:hover {
	color: #fff;
}

.ga-footer-bottom {
	margin-top: clamp(3rem, 7vw, 7rem);
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.56);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

/* Utility */
.ga-max-45 { max-width: 45rem; }
.ga-max-55 { max-width: 55rem; }
.ga-no-margin { margin: 0 !important; }
.ga-mt-auto { margin-top: auto !important; }
.ga-border-top { padding-top: 1rem; border-top: 1px solid var(--ga-line); }
.ga-screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 1100px) {
	.ga-site-tagline {
		display: none;
	}
	.ga-brand {
		min-width: 10rem;
	}
	.ga-primary-nav .wp-block-page-list {
		gap: 0.7rem;
	}
	.ga-primary-nav a {
		font-size: 0.67rem;
	}
}

@media (max-width: 960px) {
	:root {
		--ga-header-height: 76px;
	}
	.admin-bar .ga-site-header {
		top: 46px;
	}
	.ga-nav-toggle {
		display: inline-flex;
	}
	.ga-js .ga-primary-nav {
		position: absolute;
		top: calc(100% + 1px);
		right: 0;
		left: 0;
		display: none;
		max-height: calc(100vh - var(--ga-header-height));
		padding: 1rem clamp(1rem, 5vw, 3rem) 2rem;
		border-bottom: 1px solid var(--ga-line);
		background: var(--ga-paper);
		overflow-y: auto;
	}
	.ga-js .ga-primary-nav.is-open {
		display: block;
	}
	.ga-primary-nav .wp-block-page-list {
		display: grid;
		gap: 0;
	}
	.ga-primary-nav a {
		width: 100%;
		padding: 0.55rem 0;
		border-bottom: 1px solid var(--ga-line);
		font-size: 0.75rem;
	}
	.ga-primary-nav .children {
		position: static;
		display: grid;
		min-width: 0;
		padding: 0 0 0 1rem;
		border: 0;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
	.ga-primary-nav .children a {
		font-size: 0.69rem;
	}
	.ga-hero {
		min-height: auto;
	}
	.ga-hero__columns {
		gap: 3rem;
	}
	.ga-landscape-visual {
		min-height: 30rem;
		max-width: 34rem;
		margin-inline: auto;
	}
}

@media (max-width: 781px) {
	.ga-hero__columns,
	.ga-footer-grid {
		gap: 2.5rem !important;
	}
	.ga-hero__visual-column {
		order: -1;
	}
	.ga-landscape-visual {
		min-height: 22rem;
		border-radius: 50% 50% 1rem 1rem / 22% 22% 1rem 1rem;
	}
	.ga-display {
		font-size: clamp(3.2rem, 15vw, 5.8rem);
	}
	.ga-project-card {
		min-height: 27rem;
	}
	.ga-two-deltas {
		min-height: 23rem;
	}
	.ga-method-card {
		min-height: auto;
	}
}

@media (max-width: 600px) {
	.admin-bar .ga-site-header {
		top: 0;
	}
	.ga-brand .wp-block-site-logo img {
		width: 40px;
		height: 40px;
	}
	.ga-site-title,
	.ga-site-title a {
		font-size: 1.3rem;
	}
	.ga-section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.ga-hero {
		padding-top: 2.25rem;
	}
	.ga-landscape-visual {
		min-height: 18rem;
	}
	.ga-two-deltas__line {
		left: 15%;
		width: 70%;
	}
	.ga-two-deltas__label--west { left: 5%; }
	.ga-two-deltas__label--east { right: 5%; }
	.ga-footer-nav .wp-block-page-list {
		grid-template-columns: 1fr;
	}
}

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

/* WordPress integration and production refinements */
:root {
	--ga-shell: #f5f1e8;
	--ga-paper: #fbfaf6;
	--ga-ink: #142d2e;
	--ga-ink-soft: #294547;
	--ga-marsh: #536950;
	--ga-tidal: #718f91;
	--ga-silt: #c2a06a;
	--ga-rust: #b85535;
	--ga-orange: #f56600;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--ga-shell); color: var(--ga-ink); }
.wp-site-blocks { min-height: 100vh; overflow: clip; }
.ga-main { min-height: 60vh; }
.ga-main > .wp-block-post-content { margin-block-start: 0; }
.ga-main > .wp-block-post-content > :first-child { margin-block-start: 0; }
.ga-main > .wp-block-post-content > :last-child { margin-block-end: 0; }

/* Classic navigation rendered inside the block-theme header. */
.ga-nav-shell { margin-left: auto; }
.ga-primary-menu,
.ga-footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ga-primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(0.8rem, 1.4vw, 1.35rem);
}
.ga-primary-menu > li { position: relative; }
.ga-primary-menu li { margin: 0; list-style: none; }
.ga-primary-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--ga-ink);
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.065em;
	text-decoration: none;
	text-transform: uppercase;
}
.ga-primary-menu a:hover,
.ga-primary-menu .current-menu-item > a,
.ga-primary-menu .current-menu-ancestor > a,
.ga-primary-menu .current_page_item > a,
.ga-primary-menu .current_page_ancestor > a { color: var(--ga-rust); }
.ga-primary-menu .sub-menu,
.ga-primary-menu .children {
	position: absolute;
	top: calc(100% - 0.15rem);
	left: -1rem;
	display: grid;
	min-width: 16rem;
	margin: 0;
	padding: 0.65rem;
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-sm);
	background: var(--ga-paper);
	box-shadow: var(--ga-shadow);
	list-style: none;
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.4rem);
	transition: opacity 140ms ease, transform 140ms ease;
}
.ga-primary-menu li:hover > .sub-menu,
.ga-primary-menu li:focus-within > .sub-menu,
.ga-primary-menu li:hover > .children,
.ga-primary-menu li:focus-within > .children {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.ga-primary-menu .sub-menu a,
.ga-primary-menu .children a { width: 100%; padding: 0.45rem 0.6rem; font-size: 0.72rem; }

.ga-footer-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.35rem 1.3rem;
}
.ga-footer-menu .sub-menu { display: none; }
.ga-footer-menu a {
	color: rgba(255,255,255,0.82);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
}
.ga-footer-menu a:hover { color: #fff; }

/* Native blocks and editorial layouts. */
.ga-col-38 { flex-basis: 38% !important; }
.ga-col-40 { flex-basis: 40% !important; }
.ga-col-42 { flex-basis: 42% !important; }
.ga-col-45 { flex-basis: 45% !important; }
.ga-col-55 { flex-basis: 55% !important; }
.ga-col-58 { flex-basis: 58% !important; }
.ga-col-60 { flex-basis: 60% !important; }
.ga-col-62 { flex-basis: 62% !important; }
.ga-flex-center { display: flex; align-items: center; }
.ga-white, .ga-white a { color: #fff !important; }
.ga-muted { color: var(--ga-ink-soft); }
.ga-small { font-size: 0.85rem; }
.ga-centered { text-align: center; margin-inline: auto; }
.ga-section-intro { margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.ga-section-intro .ga-title { margin-bottom: 1rem; }
.ga-section-intro .ga-lede { margin-bottom: 0; }

.ga-current-grid,
.ga-publication-list,
.ga-people-grid,
.ga-feature-grid { gap: 1rem !important; }

.ga-current-card,
.ga-publication-card,
.ga-person-card,
.ga-feature-card,
.ga-contact-card {
	position: relative;
	height: 100%;
	padding: clamp(1.35rem, 2.5vw, 2rem);
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-sm);
	background: var(--ga-paper);
}
.ga-current-card { min-height: 22rem; overflow: hidden; }
.ga-current-card::after {
	position: absolute;
	inset: auto -15% -32% 12%;
	height: 65%;
	border-radius: 50% 50% 0 0;
	background: repeating-radial-gradient(ellipse at 55% 100%, transparent 0 20px, rgba(20,45,46,0.08) 21px 22px, transparent 23px 37px);
	content: "";
	pointer-events: none;
}
.ga-current-card > * { position: relative; z-index: 1; }
.ga-current-card h3,
.ga-publication-card h3,
.ga-person-card h3,
.ga-feature-card h3 {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	line-height: 1.12;
}
.ga-current-card h3 { margin-top: 4rem; font-size: clamp(1.75rem, 2.6vw, 2.45rem); }
.ga-publication-card .wp-block-post-title { margin-top: 0.8rem; }
.ga-publication-card .wp-block-post-excerpt__excerpt { color: var(--ga-ink-soft); }
.ga-publication-card .wp-block-post-excerpt__more-link { color: var(--ga-ink); font-size: 0.72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }

.ga-person-card { display: grid; gap: 0.65rem; }
.ga-person-card .wp-block-post-title { margin: 0; }
.ga-person-role { color: var(--ga-rust); font-size: 0.7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ga-person-card .wp-block-post-excerpt { margin: 0; }

.ga-feature-card { min-height: 15rem; }
.ga-feature-card h3 { margin-top: 2.2rem; font-size: 1.55rem; }
.ga-feature-card p:last-child { margin-bottom: 0; }

.ga-image-frame {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-md);
	background: #d9ded8;
	box-shadow: var(--ga-shadow);
}
.ga-image-frame img { width: 100%; object-fit: cover; }
.ga-image-frame--historic img { aspect-ratio: 4 / 3; filter: grayscale(1) sepia(.2) contrast(1.05); }
.ga-image-caption { margin-top: .7rem; color: var(--ga-ink-soft); font-size: .72rem; line-height: 1.45; }

.ga-statement {
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border-left: 1px solid var(--ga-rust);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.55rem, 3vw, 3rem);
	line-height: 1.2;
}
.ga-question-card .ga-number { margin-bottom: 0; }
.ga-question-card p:last-child { margin-bottom: 0; }

.ga-list-clean { margin: 0; padding-left: 1.1rem; }
.ga-list-clean li { margin-bottom: .7rem; }
.ga-list-clean li::marker { color: var(--ga-rust); }

.ga-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1.4rem;
	margin-top: 2.25rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--ga-line);
}
.ga-meta-row p { margin: 0; color: var(--ga-ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.ga-output-entry {
	display: grid;
	grid-template-columns: minmax(5rem, 8rem) minmax(0, 1fr);
	gap: clamp(1rem, 3vw, 2.5rem);
	padding: 1.5rem 0;
	border-top: 1px solid var(--ga-line);
}
.ga-output-entry:last-child { border-bottom: 1px solid var(--ga-line); }
.ga-output-year { color: var(--ga-rust); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ga-output-entry h3 { margin: 0 0 .5rem; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 500; }
.ga-output-entry p { margin-bottom: .5rem; color: var(--ga-ink-soft); }

.ga-cta {
	padding: clamp(2rem, 5vw, 5rem);
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-md);
	background: linear-gradient(145deg, #dce5e2, #eee3d1);
}
.ga-cta .ga-subtitle { margin-bottom: 1rem; }

.ga-contact-card { max-width: 52rem; }
.ga-contact-card a { color: var(--ga-ink); }
.ga-contact-detail { display: grid; grid-template-columns: minmax(7rem, 10rem) 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--ga-line); }
.ga-contact-detail:last-child { border-bottom: 1px solid var(--ga-line); }
.ga-contact-detail strong { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.ga-contact-detail p { margin: 0; }

.ga-note {
	padding: 1rem 1.1rem;
	border: 1px solid var(--ga-line);
	border-radius: var(--ga-radius-sm);
	background: rgba(255,255,255,.45);
	color: var(--ga-ink-soft);
	font-size: .84rem;
}

.ga-query .wp-block-post-template.is-layout-grid { align-items: stretch; }
.ga-query .wp-block-post { height: 100%; }
.ga-query .wp-block-post-title { margin-top: .8rem; }
.ga-query .wp-block-post-excerpt__more-text { margin-bottom: 0; }

.ga-archive-title { max-width: 18ch; margin-top: 0; font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.8rem, 6vw, 6rem); font-weight: 500; letter-spacing: -.04em; line-height: .98; }
.ga-pagination { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--ga-line); }
.ga-pagination a { color: var(--ga-ink); font-weight: 700; }

/* Form controls, for current or future native forms. */
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
	width: 100%;
	padding: .85rem 1rem;
	border: 1px solid var(--ga-line);
	border-radius: .35rem;
	background: var(--ga-paper);
	color: var(--ga-ink);
	font: inherit;
}

/* Responsive navigation. */
@media (max-width: 1100px) {
	.ga-site-tagline { display: none; }
	.ga-brand { min-width: 10rem; }
	.ga-primary-menu { gap: .7rem; }
	.ga-primary-menu a { font-size: .67rem; }
}
@media (max-width: 960px) {
	.ga-nav-shell { margin-left: auto; }
	.ga-nav-toggle { display: inline-flex; }
	.ga-js .ga-primary-nav {
		position: absolute;
		top: calc(100% + 1px);
		right: 0;
		left: 0;
		display: none;
		max-height: calc(100vh - var(--ga-header-height));
		padding: 1rem clamp(1rem, 5vw, 3rem) 2rem;
		border-bottom: 1px solid var(--ga-line);
		background: var(--ga-paper);
		overflow-y: auto;
	}
	.ga-js .ga-primary-nav.is-open { display: block; }
	.ga-primary-menu { display: grid; gap: 0; }
	.ga-primary-menu a { width: 100%; padding: .55rem 0; border-bottom: 1px solid var(--ga-line); font-size: .75rem; }
	.ga-primary-menu .sub-menu,
	.ga-primary-menu .children {
		position: static;
		display: grid;
		min-width: 0;
		padding: 0 0 0 1rem;
		border: 0;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
	.ga-primary-menu .sub-menu a,
	.ga-primary-menu .children a { font-size: .69rem; }
}
@media (max-width: 781px) {
	.ga-col-38, .ga-col-40, .ga-col-42, .ga-col-45, .ga-col-55, .ga-col-58, .ga-col-60, .ga-col-62 { flex-basis: 100% !important; }
	.ga-output-entry { grid-template-columns: 1fr; gap: .4rem; }
	.ga-contact-detail { grid-template-columns: 1fr; gap: .35rem; }
}
@media (max-width: 600px) {
	.ga-footer-menu { grid-template-columns: 1fr; }
}

/* ========================================================================
   GeoArches Unified Editorial Experience, version 1.2.4
   Modern restraint with documentary field storytelling.
   ======================================================================== */
:root {
	--ga-shell: #f4f3ef;
	--ga-paper: #ffffff;
	--ga-paper-warm: #faf9f5;
	--ga-ink: #071a20;
	--ga-ink-soft: #405058;
	--ga-marsh: #53685a;
	--ga-tidal: #81979b;
	--ga-silt: #b89962;
	--ga-signal: #d8ad45;
	--ga-rust: #92513d;
	--ga-orange: #c56a31;
	--ga-line: rgba(7, 26, 32, 0.13);
	--ga-line-light: rgba(255,255,255,0.2);
	--ga-shadow: 0 24px 70px rgba(7, 26, 32, 0.10);
	--ga-shadow-soft: 0 10px 40px rgba(7, 26, 32, 0.07);
	--ga-radius-sm: 0.75rem;
	--ga-radius-md: 1.25rem;
	--ga-radius-lg: 1.75rem;
	--ga-header-height: 76px;
	--ga-wide: 1320px;
}

body {
	background: var(--ga-shell);
	color: var(--ga-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-kerning: normal;
	letter-spacing: -0.008em;
}

::selection { background: rgba(216,173,69,.42); color: var(--ga-ink); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--ga-orange);
	outline-offset: 4px;
}

/* Header: compact, quiet, and always legible. */
.ga-site-header {
	background: rgba(250, 249, 245, 0.86);
	border-bottom-color: rgba(7, 26, 32, 0.09);
	box-shadow: 0 1px 0 rgba(255,255,255,.7);
	backdrop-filter: saturate(145%) blur(22px);
	-webkit-backdrop-filter: saturate(145%) blur(22px);
}

.ga-header-inner {
	min-height: var(--ga-header-height);
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}

.ga-header-inner > .wp-block-shortcode { margin: 0; }

.ga-brand-link {
	display: inline-flex;
	align-items: center;
	gap: .78rem;
	min-width: 15rem;
	color: var(--ga-ink);
	text-decoration: none;
}

.ga-brand-mark {
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	object-fit: contain;
}

.ga-brand-copy {
	display: grid;
	gap: .18rem;
}

.ga-brand-name {
	font-size: 1.04rem;
	font-weight: 720;
	letter-spacing: -.025em;
	line-height: 1;
}

.ga-brand-byline {
	color: var(--ga-ink-soft);
	font-size: .58rem;
	font-weight: 680;
	letter-spacing: .075em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ga-primary-menu { gap: clamp(.72rem, 1.35vw, 1.35rem); }
.ga-primary-menu a {
	font-size: .66rem;
	font-weight: 720;
	letter-spacing: .055em;
	text-transform: none;
}
.ga-primary-menu > li > a { position: relative; }
.ga-primary-menu > li > a::after {
	position: absolute;
	right: 0;
	bottom: 5px;
	left: 0;
	height: 1px;
	background: var(--ga-signal);
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 160ms ease;
}
.ga-primary-menu > li > a:hover::after,
.ga-primary-menu > .current-menu-item > a::after,
.ga-primary-menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
.ga-primary-menu a:hover,
.ga-primary-menu .current-menu-item > a,
.ga-primary-menu .current-menu-ancestor > a { color: var(--ga-ink); }
.ga-primary-menu .sub-menu,
.ga-primary-menu .children {
	border-radius: .9rem;
	background: rgba(255,255,255,.98);
	box-shadow: 0 22px 60px rgba(7,26,32,.13);
}

/* Homepage hero: a clear thesis alongside a real landscape. */
.ga-hero {
	min-height: min(860px, calc(100vh - var(--ga-header-height)));
	padding-top: clamp(3.25rem, 7vw, 7rem);
	padding-bottom: clamp(2.25rem, 5vw, 4.5rem);
	background: linear-gradient(180deg, #fbfaf7 0%, var(--ga-shell) 100%);
}
.ga-hero::before { display: none; }
.ga-hero__columns {
	align-items: center !important;
	gap: clamp(2.5rem, 5vw, 6rem) !important;
}
.ga-hero__copy { flex-basis: 49% !important; }
.ga-hero__visual-column { flex-basis: 51% !important; }
.ga-hero .ga-kicker { margin-bottom: .65rem; color: var(--ga-rust); }
.ga-hero-identity {
	max-width: 52rem;
	margin: 0 0 clamp(1.8rem, 3vw, 2.8rem);
	color: var(--ga-ink-soft);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .075em;
	line-height: 1.45;
	text-transform: uppercase;
}
.ga-display {
	max-width: 11.4ch;
	margin-top: 0;
	margin-bottom: clamp(1.5rem, 2.8vw, 2.3rem);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: clamp(3.35rem, 6.15vw, 6.9rem);
	font-weight: 635;
	letter-spacing: -.065em;
	line-height: .91;
}
.ga-hero .ga-lede {
	max-width: 42rem;
	font-size: clamp(1.08rem, 1.5vw, 1.35rem);
	line-height: 1.55;
}
.ga-hero-figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1rem, 2.3vw, 1.75rem);
	background: #d9ded8;
	box-shadow: 0 34px 95px rgba(7,26,32,.18);
}
.ga-hero-figure::before {
	position: absolute;
	z-index: 2;
	top: 1.25rem;
	left: 1.25rem;
	width: 4px;
	height: 72px;
	background: var(--ga-signal);
	content: "";
}
.ga-hero-figure img {
	width: 100%;
	height: clamp(32rem, 50vw, 46rem);
	object-fit: cover;
	object-position: 52% 50%;
	filter: saturate(.9) contrast(1.02);
}
.ga-hero-figure figcaption {
	position: absolute;
	right: 1rem;
	bottom: .9rem;
	left: 1rem;
	color: rgba(255,255,255,.88);
	font-size: .61rem;
	font-weight: 700;
	letter-spacing: .065em;
	text-shadow: 0 1px 12px rgba(0,0,0,.65);
	text-transform: uppercase;
}
.ga-hero__note {
	margin-top: clamp(2rem, 4vw, 3.75rem);
	border-top-color: rgba(7,26,32,.13);
	color: var(--ga-ink-soft);
}

/* More whitespace and calmer editorial rhythm. */
.ga-section { padding-top: clamp(4.25rem, 7vw, 7.25rem); padding-bottom: clamp(4.25rem, 7vw, 7.25rem); }
.ga-section--paper { background: var(--ga-paper); }
.ga-section--tidal { background: #dfe7e5; }
.ga-section--silt { background: #eee6d8; }
.ga-section--ink { background: var(--ga-ink); }
.ga-kicker,
.ga-number,
.ga-output-year,
.ga-person-role {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	letter-spacing: .085em;
}
.ga-title {
	font-family: "Iowan Old Style", Baskerville, "Palatino Linotype", Georgia, serif;
	letter-spacing: -.035em;
}
.ga-lede { color: var(--ga-ink-soft); }
.ga-section--ink .ga-lede,
.ga-section--ink p { color: rgba(255,255,255,.76); }
.ga-section--ink .ga-kicker { color: var(--ga-signal); }

/* Buttons: simple geometry, no visual noise. */
.wp-block-button__link,
.ga-button {
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 760;
	letter-spacing: .045em;
	text-decoration: none;
	text-transform: none;
	transition: transform 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}
.wp-block-button__link:hover,
.ga-button:hover { transform: translateY(-1px); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--ga-ink); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #16313a; }
.wp-block-button.is-style-outline .wp-block-button__link { border-color: rgba(7,26,32,.55); }

/* National Geographic Explorer project: editorial authority without brand imitation. */
.ga-natgeo-feature {
	position: relative;
	isolation: isolate;
	padding: clamp(5rem, 9vw, 9rem) max(1rem, calc((100vw - var(--ga-wide)) / 2));
	background: var(--ga-ink);
	color: #fff;
	overflow: hidden;
}
.ga-natgeo-feature::before {
	position: absolute;
	z-index: -1;
	top: -16rem;
	right: -18rem;
	width: 48rem;
	height: 48rem;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 50%;
	content: "";
}
.ga-natgeo-feature__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.03fr) minmax(22rem, .97fr);
	gap: clamp(2.5rem, 6vw, 7rem);
	align-items: center;
	max-width: var(--ga-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}
.ga-feature-label {
	display: flex;
	align-items: center;
	gap: .85rem;
	margin: 0 0 1.5rem;
	color: var(--ga-signal);
	font-size: .68rem;
	font-weight: 770;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.ga-feature-label span { display: inline-block; width: 3px; height: 42px; background: var(--ga-signal); }
.ga-natgeo-feature h2 {
	max-width: 9ch;
	margin: 0 0 1.1rem;
	color: #fff;
	font-family: "Iowan Old Style", Baskerville, Georgia, serif;
	font-size: clamp(3.5rem, 6vw, 6.8rem);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .93;
}
.ga-natgeo-feature__question {
	max-width: 32ch;
	margin: 0 0 2rem;
	color: rgba(255,255,255,.96);
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	font-weight: 520;
	letter-spacing: -.025em;
	line-height: 1.25;
}
.ga-natgeo-feature__copy > p:not(.ga-feature-label):not(.ga-natgeo-feature__question) {
	max-width: 47rem;
	color: rgba(255,255,255,.72);
	font-size: clamp(.98rem, 1.2vw, 1.1rem);
}
.ga-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 1px;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	margin-bottom: 0;
	padding: 0;
	border-top: 1px solid rgba(255,255,255,.2);
	border-bottom: 1px solid rgba(255,255,255,.2);
	list-style: none;
}
.ga-process-grid > div,
.ga-process-grid > li { padding: 1.25rem 1.25rem 1.4rem 0; }
.ga-process-grid > div + div,
.ga-process-grid > li + li { padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,.2); }
.ga-process-grid span { display: block; margin-bottom: 1rem; color: var(--ga-signal); font-size: .62rem; font-weight: 760; letter-spacing: .09em; }
.ga-process-grid strong { display: block; color: #fff; font-size: .76rem; letter-spacing: .075em; text-transform: uppercase; }
.ga-process-grid p { margin: .55rem 0 0; color: rgba(255,255,255,.6); font-size: .78rem; line-height: 1.5; }
.ga-feature-actions { display: flex; flex-wrap: wrap; gap: .8rem 1rem; align-items: center; margin-top: 2rem; }
.ga-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .7rem 1.15rem; border: 1px solid transparent; }
.ga-button--light { background: #fff; color: var(--ga-ink); }
.ga-button--light:hover { background: var(--ga-signal); color: var(--ga-ink); }
.ga-button--ghost { border-color: rgba(255,255,255,.36); color: #fff; }
.ga-button--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.ga-feature-official { color: var(--ga-signal); font-size: .72rem; font-weight: 720; text-underline-offset: .25em; }
.ga-natgeo-feature__figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--ga-radius-lg); box-shadow: 0 28px 90px rgba(0,0,0,.36); }
.ga-natgeo-feature__figure::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.66)); content: ""; pointer-events: none; }
.ga-natgeo-feature__figure img { width: 100%; height: clamp(35rem, 54vw, 51rem); object-fit: cover; object-position: 58% 50%; filter: saturate(.82) contrast(1.05); }
.ga-natgeo-feature__figure figcaption { position: absolute; z-index: 2; right: 1.25rem; bottom: 1.15rem; left: 1.25rem; width: max-content; max-width: calc(100% - 2.5rem); padding: .45rem .65rem; border-radius: .35rem; background: rgba(7,26,32,.84); color: #fff; font-size: .64rem; line-height: 1.45; }

/* Project gateways become photographic chapters. */
.ga-project-grid { gap: clamp(1rem, 2vw, 1.5rem) !important; }
.ga-project-card {
	min-height: clamp(30rem, 44vw, 38rem);
	padding: clamp(1.5rem, 2.8vw, 2.25rem);
	border: 0;
	border-radius: var(--ga-radius-md);
	box-shadow: var(--ga-shadow-soft);
	color: #fff;
	isolation: isolate;
	overflow: hidden;
}
.ga-project-card::before {
	z-index: -1;
	inset: 0;
	height: auto;
	border-radius: 0;
	background: linear-gradient(180deg, rgba(3,12,16,.08) 5%, rgba(3,12,16,.28) 45%, rgba(3,12,16,.92) 100%);
	content: "";
}
.ga-project-card::after {
	position: absolute;
	z-index: -2;
	inset: 0;
	background-position: center;
	background-size: cover;
	content: "";
	transition: transform 700ms cubic-bezier(.2,.75,.2,1), filter 350ms ease;
}
.ga-project-card--rice::after { background-image: url("assets/images/editorial/rice-survey-hobcaw.webp"); background-position: 68% 50%; }
.ga-project-card--core::after { background-image: url("assets/images/editorial/core-overhead-2025.webp"); background-position: 50% 48%; }
.ga-project-card--eden::after { background-image: url("assets/images/editorial/mesopotamia-landscape-2019.webp"); background-position: 40% 50%; filter: saturate(.9) contrast(1.04); }
.ga-project-card:hover { transform: translateY(-4px); box-shadow: 0 30px 85px rgba(7,26,32,.18); }
.ga-project-card:hover::after { transform: scale(1.035); }
.ga-project-card .ga-number { color: var(--ga-signal); }
.ga-project-card > .ga-number { display: none; }
.ga-project-card .ga-project-card__body { margin-top: auto; }
.ga-project-card .ga-kicker { color: rgba(255,255,255,.88); }
.ga-project-card :is(h2, h3) { max-width: 12ch; color: #fff; font-size: clamp(2rem, 3vw, 3rem); }
.ga-project-card p { color: rgba(255,255,255,.88); }
.ga-project-card .ga-text-link { color: #fff; }
.ga-project-card .ga-text-link::after { color: var(--ga-signal); }

/* Interior page heroes: each research program opens in its own landscape. */
.ga-page-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--ga-paper-warm); }
.ga-page-hero::after { opacity: .35; }
.ga-project-hero--rice,
.ga-project-hero--core,
.ga-project-hero--eden,
.ga-entry-about .ga-page-hero,
.ga-entry-research .ga-page-hero,
.ga-entry-projects .ga-page-hero {
	min-height: clamp(32rem, 52vw, 44rem);
	display: flex;
	align-items: flex-end;
	background-position: center;
	background-size: cover;
	color: #fff;
}
.ga-project-hero--rice { background-image: linear-gradient(180deg, rgba(3,12,16,.10), rgba(3,12,16,.84)), url("assets/images/editorial/rice-channel-fieldwork-hobcaw.webp"); background-position: 50% 54%; }
.ga-project-hero--core { background-image: linear-gradient(180deg, rgba(3,12,16,.10), rgba(3,12,16,.86)), url("assets/images/editorial/hasty-point-core.webp"); background-position: 50% 50%; }
.ga-project-hero--eden { background-image: linear-gradient(180deg, rgba(3,12,16,.10), rgba(3,12,16,.84)), url("assets/images/editorial/ur-ziggurat-moon.jpg"); background-position: 50% 52%; }
.ga-entry-about .ga-page-hero { background-image: linear-gradient(180deg, rgba(3,12,16,.12), rgba(3,12,16,.82)), url("assets/images/editorial/hobcaw-trees.webp"); background-position: 50% 64%; }
.ga-entry-research .ga-page-hero { background-image: linear-gradient(180deg, rgba(3,12,16,.15), rgba(3,12,16,.82)), url("assets/images/editorial/clambank-sunrise.webp"); }
.ga-entry-projects .ga-page-hero { background-image: linear-gradient(180deg, rgba(3,12,16,.12), rgba(3,12,16,.84)), url("assets/images/editorial/hobcaw-aerial.webp"); }
.ga-project-hero--rice::after,
.ga-project-hero--core::after,
.ga-project-hero--eden::after,
.ga-entry-about .ga-page-hero::after,
.ga-entry-research .ga-page-hero::after,
.ga-entry-projects .ga-page-hero::after {
	z-index: 0;
	inset: 0;
	height: auto;
	background: linear-gradient(90deg, rgba(3,12,16,.91) 0%, rgba(3,12,16,.78) 58%, rgba(3,12,16,.34) 100%);
	opacity: 1;
}
.ga-project-hero--rice::before,
.ga-project-hero--core::before,
.ga-project-hero--eden::before,
.ga-entry-about .ga-page-hero::before,
.ga-entry-research .ga-page-hero::before,
.ga-entry-projects .ga-page-hero::before {
	position: absolute;
	z-index: -1;
	top: clamp(2rem, 5vw, 5rem);
	left: max(1.25rem, calc((100vw - var(--ga-wide)) / 2 + 2.25rem));
	width: 4px;
	height: 74px;
	background: var(--ga-signal);
	content: "";
}
.ga-project-hero--rice .ga-page-hero__inner,
.ga-project-hero--core .ga-page-hero__inner,
.ga-project-hero--eden .ga-page-hero__inner,
.ga-entry-about .ga-page-hero__inner,
.ga-entry-research .ga-page-hero__inner,
.ga-entry-projects .ga-page-hero__inner { margin-top: auto; padding-bottom: clamp(3rem, 7vw, 7rem); }
.ga-project-hero--rice .ga-title,
.ga-project-hero--core .ga-title,
.ga-project-hero--eden .ga-title,
.ga-entry-about .ga-page-hero .ga-title,
.ga-entry-research .ga-page-hero .ga-title,
.ga-entry-projects .ga-page-hero .ga-title {
	max-width: 13ch;
	color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: clamp(3.25rem, 6.5vw, 7rem);
	font-weight: 620;
	letter-spacing: -.06em;
	line-height: .93;
}
.ga-project-hero--rice .ga-lede,
.ga-project-hero--core .ga-lede,
.ga-project-hero--eden .ga-lede,
.ga-entry-about .ga-page-hero .ga-lede,
.ga-entry-research .ga-page-hero .ga-lede,
.ga-entry-projects .ga-page-hero .ga-lede { max-width: 50rem; color: rgba(255,255,255,.82); }
.ga-project-hero--rice .ga-kicker,
.ga-project-hero--core .ga-kicker,
.ga-project-hero--eden .ga-kicker,
.ga-entry-about .ga-page-hero .ga-kicker,
.ga-entry-research .ga-page-hero .ga-kicker,
.ga-entry-projects .ga-page-hero .ga-kicker { color: var(--ga-signal); }
.ga-project-hero--rice .ga-meta-row,
.ga-project-hero--core .ga-meta-row,
.ga-project-hero--eden .ga-meta-row { border-top-color: rgba(255,255,255,.25); }
.ga-project-hero--rice .ga-meta-row p,
.ga-project-hero--core .ga-meta-row p,
.ga-project-hero--eden .ga-meta-row p { color: rgba(255,255,255,.78); }

/* Cards and article lists: lighter, flatter, more precise. */
.ga-current-card,
.ga-publication-card,
.ga-person-card,
.ga-feature-card,
.ga-contact-card,
.ga-question-card,
.ga-query .wp-block-post {
	border-color: rgba(7,26,32,.1);
	border-radius: var(--ga-radius-md);
	background: rgba(255,255,255,.86);
	box-shadow: 0 1px 0 rgba(255,255,255,.85);
}
.ga-current-card:hover,
.ga-query .wp-block-post:hover { transform: translateY(-3px); box-shadow: var(--ga-shadow-soft); }
.ga-question-card { padding: clamp(1.4rem, 2.5vw, 2rem); }
.ga-image-frame { border-radius: var(--ga-radius-md); box-shadow: var(--ga-shadow-soft); }
.ga-image-caption { font-size: .68rem; }
.ga-cta { border-radius: var(--ga-radius-md); background: linear-gradient(135deg, #e2e9e6, #f0e8db); }

/* Footer: public-intellectual identity, not institutional boilerplate. */
.ga-site-footer { background: #071a20; }
.ga-footer-eyebrow { margin: 0 0 1rem; color: var(--ga-signal); font-size: .66rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.ga-footer-title { max-width: 22ch; font-size: clamp(2.25rem, 3.8vw, 4rem); line-height: 1.02; }
.ga-footer-copy { max-width: 52ch; color: rgba(255,255,255,.72); }
.ga-footer-menu a { display: block; min-height: 44px; padding-block: .65rem; font-size: .78rem; text-transform: none; }
.ga-footer-bottom { color: rgba(255,255,255,.5); text-transform: none; letter-spacing: .035em; line-height: 1.45; }
.ga-footer-bottom strong { color: rgba(255,255,255,.88); }
.ga-site-footer > .ga-footer-grid,
.ga-site-footer > .ga-footer-bottom {
	box-sizing: border-box;
	max-width: var(--ga-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}

@media (max-width: 1100px) {
	.ga-brand-byline { display: none; }
	.ga-brand-link { min-width: auto; }
	.ga-primary-menu a { font-size: .64rem; }
}

@media (max-width: 960px) {
	.ga-js .ga-primary-nav { background: rgba(250,249,245,.98); backdrop-filter: blur(22px); }
	.ga-primary-menu a { padding: .7rem 0; font-size: .82rem; }
	.ga-natgeo-feature__inner { grid-template-columns: 1fr; }
	.ga-natgeo-feature__figure { order: -1; }
	.ga-natgeo-feature__figure img { height: min(70vw, 39rem); }
}

@media (max-width: 781px) {
	.ga-hero { padding-top: 1.5rem; }
	.ga-hero__visual-column { order: 0; }
	.ga-hero-figure img { height: min(90vw, 32rem); }
	.ga-display { max-width: 12ch; font-size: clamp(3.15rem, 14vw, 5.75rem); }
	.ga-project-card { min-height: 31rem; }
	.ga-process-grid { grid-template-columns: 1fr; }
	.ga-process-grid > div,
	.ga-process-grid > li { padding: 1.1rem 0; }
	.ga-process-grid > div + div,
	.ga-process-grid > li + li { padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
	.ga-project-hero--rice,
	.ga-project-hero--core,
	.ga-project-hero--eden,
	.ga-entry-about .ga-page-hero,
	.ga-entry-research .ga-page-hero,
	.ga-entry-projects .ga-page-hero { min-height: 37rem; }
	.ga-project-hero--rice::after,
	.ga-project-hero--core::after,
	.ga-project-hero--eden::after,
	.ga-entry-about .ga-page-hero::after,
	.ga-entry-research .ga-page-hero::after,
	.ga-entry-projects .ga-page-hero::after { background: rgba(3,12,16,.84); }
}

@media (max-width: 600px) {
	:root { --ga-header-height: 68px; }
	.ga-header-inner { padding-inline: 1rem; }
	.ga-brand-mark { width: 37px; height: 37px; }
	.ga-brand-name { font-size: .98rem; }
	.ga-hero-identity { font-size: .61rem; }
	.ga-hero__note { font-size: .62rem; }
	.ga-natgeo-feature { padding-inline: 0; }
	.ga-natgeo-feature__inner { padding-inline: 1rem; }
	.ga-natgeo-feature h2 { font-size: clamp(3.25rem, 16vw, 5.3rem); }
	.ga-natgeo-feature__figure img { height: 25rem; }
	.ga-feature-actions { align-items: stretch; }
	.ga-button { width: 100%; }
	.ga-project-card { min-height: 29rem; }
	.ga-footer-title { font-size: clamp(2.35rem, 11vw, 3.8rem); }
}

@media (prefers-reduced-motion: reduce) {
	.ga-project-card:hover::after { transform: none; }
}

/* Final interaction and small-screen safeguards. */
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.wp-block-button:not(.is-style-outline) .wp-element-button { color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button { color: var(--ga-ink); background: transparent; }

@media (max-width: 781px) {
	.ga-hero__columns { display: flex !important; flex-direction: column; }
	.ga-hero__copy,
	.ga-hero__visual-column { width: 100% !important; flex-basis: 100% !important; }
	.ga-project-grid { display: flex !important; flex-direction: column; }
	.ga-project-grid > .wp-block-column { width: 100%; flex-basis: 100% !important; }
}
.ga-button-row { display: flex; flex-wrap: wrap; align-items: center; }


/* ================================================================
   GeoArches Editorial Safe 1.2.4
   Static, launch-safe homepage composition. No content filter is used.
   ================================================================ */
.ga-safe-front .wp-block-post-content > .ga-hero:first-child { display: none; }
.ga-safe-hero { min-height: auto; }
.ga-safe-hero__inner {
	display: grid;
	grid-template-columns: minmax(0,.96fr) minmax(24rem,1.04fr);
	gap: clamp(2.5rem,5vw,6rem);
	align-items: center;
	max-width: var(--ga-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem,2.8vw,2.25rem);
}
.ga-safe-hero__copy { min-width: 0; }
.ga-safe-hero__actions { margin-top: 2rem; }
.ga-button--dark { background: var(--ga-ink); color: #fff; }
.ga-button--dark:hover { background: #16313a; color: #fff; }
.ga-button--outline-dark { border-color: rgba(7,26,32,.55); color: var(--ga-ink); }
.ga-button--outline-dark:hover { background: rgba(7,26,32,.05); color: var(--ga-ink); }
.ga-safe-hero__figure { position: relative; margin: 0; overflow: hidden; border-radius: clamp(1rem,2.3vw,1.75rem); background: #d9ded8; box-shadow: 0 34px 95px rgba(7,26,32,.18); }
.ga-safe-hero__figure::before { position:absolute; z-index:2; top:1.25rem; left:1.25rem; width:4px; height:72px; background:var(--ga-signal); content:""; }
.ga-safe-hero__image { min-height: clamp(32rem,50vw,46rem); background: url("assets/images/editorial/hobcaw-aerial.webp") 52% 50% / cover no-repeat; filter: saturate(.9) contrast(1.02); }
.ga-safe-hero__figure figcaption { position:absolute; right:1rem; bottom:.9rem; left:1rem; width:max-content; max-width:calc(100% - 2rem); padding:.45rem .65rem; border-radius:.35rem; background:rgba(7,26,32,.72); color:rgba(255,255,255,.94); font-size:.72rem; font-weight:700; letter-spacing:.045em; line-height:1.35; text-transform:uppercase; }
.ga-safe-hero__note { max-width:var(--ga-wide); margin:clamp(2rem,4vw,3.75rem) auto 0; padding:1rem clamp(1rem,2.8vw,2.25rem) 0; border-top:1px solid rgba(7,26,32,.13); color:var(--ga-ink-soft); font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.ga-safe-feature__image { width:100%; height:clamp(35rem,54vw,51rem); background:url("assets/images/editorial/rice-structure-hobcaw.webp") 50% 50% / cover no-repeat; filter:saturate(.88) contrast(1.06); }
.ga-home-section-inner {
	max-width: var(--ga-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}
.ga-home-section-intro { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.ga-home-section-intro .ga-title { max-width: 16ch; margin-bottom: 0; }
.ga-home-project-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}
.ga-home-project-grid .ga-project-card { min-height: clamp(24rem, 31vw, 29rem); }
.ga-home-feature { padding-top: clamp(4.25rem, 7vw, 7.25rem); padding-bottom: clamp(4.25rem, 7vw, 7.25rem); }
.ga-home-feature h2 { max-width: 12ch; font-size: clamp(3.1rem, 5.2vw, 5.8rem); }
.ga-home-feature .ga-natgeo-feature__copy > p:not(.ga-feature-label) { color: rgba(255,255,255,.86); }
.ga-home-pathway-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--ga-line);
	border-bottom: 1px solid var(--ga-line);
}
.ga-home-pathway { padding: clamp(1.5rem, 3vw, 2.4rem) clamp(1.25rem, 2.5vw, 2rem); }
.ga-home-pathway:first-child { padding-left: 0; }
.ga-home-pathway:last-child { padding-right: 0; }
.ga-home-pathway + .ga-home-pathway { border-left: 1px solid var(--ga-line); }
.ga-home-pathway h3 { margin: 0 0 .65rem; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: clamp(1.5rem, 2.2vw, 2.05rem); }
.ga-home-pathway p { margin: 0; color: var(--ga-ink-soft); }
.ga-home-pathway .ga-text-link { margin-top: 1rem; }
.ga-home-pathway .ga-text-link--secondary { margin-left: 1rem; }
@media (max-width: 980px) {
	.ga-safe-hero__inner { grid-template-columns:1fr; }
	.ga-safe-hero__figure { order:-1; }
	.ga-safe-hero__image { min-height:min(78vw,38rem); }
	.ga-home-project-grid { grid-template-columns: 1fr; }
	.ga-home-project-grid .ga-project-card { min-height: 25rem; }
}
@media (max-width: 720px) {
	.ga-safe-hero { padding-top:1.5rem; }
	.ga-safe-hero__inner { gap:2rem; }
	.ga-safe-hero__image { min-height:92vw; }
	.ga-safe-hero__note { margin-top:2rem; }
	.ga-process-grid { grid-template-columns:1fr; }
	.ga-process-grid > div + div,
	.ga-process-grid > li + li { padding-left:0; border-top:1px solid rgba(255,255,255,.2); border-left:0; }
	.ga-safe-feature__image { height:25rem; }
	.ga-home-pathway-grid { grid-template-columns: 1fr; }
	.ga-home-pathway { padding: 1.5rem 0; }
	.ga-home-pathway + .ga-home-pathway { border-top: 1px solid var(--ga-line); border-left: 0; }
	.ga-home-pathway .ga-text-link--secondary { margin-left: 0; }
}


/* Field evidence diptych: a restrained photographic bridge between regions. */
.ga-field-archive {
	padding: clamp(4.5rem, 8vw, 8rem) max(1rem, calc((100vw - var(--ga-wide)) / 2));
	background: #ece9e2;
}
.ga-field-archive__inner {
	max-width: var(--ga-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}
.ga-field-archive__intro {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(20rem, 1.2fr);
	gap: clamp(2rem, 5vw, 6rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.ga-field-archive__intro h2 {
	max-width: 12ch;
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: clamp(2.8rem, 5.8vw, 6.4rem);
	font-weight: 620;
	letter-spacing: -.058em;
	line-height: .94;
}
.ga-field-archive__intro p:last-child {
	max-width: 48rem;
	margin: 0;
	color: var(--ga-ink-soft);
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.6;
}
.ga-field-archive__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 2rem);
}
.ga-field-archive figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(.8rem, 1.8vw, 1.35rem);
	background: #d6d4cd;
	box-shadow: 0 22px 58px rgba(7,26,32,.12);
}
.ga-field-archive__image {
	min-height: clamp(27rem, 43vw, 42rem);
	background-position: center;
	background-size: cover;
	transition: transform 700ms cubic-bezier(.2,.75,.2,1);
}
.ga-field-archive__image--core {
	background-image:
		linear-gradient(180deg, transparent 64%, rgba(0,0,0,.56)),
		url("assets/images/editorial/rice-channel-fieldwork-hobcaw.webp");
	background-position: 50% 50%;
}
.ga-field-archive__image--iraq {
	background-image:
		linear-gradient(180deg, transparent 62%, rgba(0,0,0,.58)),
		url("assets/images/editorial/iraq-excavation-2022.webp");
	background-position: 50% 50%;
}
.ga-field-archive figure:hover .ga-field-archive__image {
	transform: scale(1.018);
}
.ga-field-archive figcaption {
	position: absolute;
	right: 1.15rem;
	bottom: 1rem;
	left: 1.15rem;
	width: max-content;
	max-width: calc(100% - 2.3rem);
	padding: .45rem .65rem;
	border-radius: .35rem;
	background: rgba(7,26,32,.84);
	color: #fff;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .055em;
	line-height: 1.45;
	text-transform: uppercase;
}
@media (max-width: 860px) {
	.ga-field-archive__intro,
	.ga-field-archive__grid {
		grid-template-columns: 1fr;
	}
	.ga-field-archive__image {
		min-height: min(78vw, 36rem);
	}
}
@media (max-width: 620px) {
	.ga-field-archive {
		padding-inline: 0;
	}
	.ga-field-archive__inner {
		padding-inline: 1rem;
	}
	.ga-field-archive__intro h2 {
		font-size: clamp(2.8rem, 13vw, 4.4rem);
	}
	.ga-field-archive__image {
		min-height: 26rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ga-field-archive figure:hover .ga-field-archive__image {
		transform: none;
	}
}


/* ================================================================
   GeoArches Editorial Safe 1.2.4, Hobcaw historical-ecology story
   Static photography only; JavaScript changes placement, not content.
   ================================================================ */
.ga-rice-field-story {
	padding: clamp(4.75rem, 8vw, 8.5rem) max(1rem, calc((100vw - var(--ga-wide)) / 2));
	background: #e9ebe4;
}
.ga-rice-field-story__inner {
	max-width: var(--ga-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2.8vw, 2.25rem);
}
.ga-rice-field-story__intro {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(20rem, 1.18fr);
	gap: clamp(2rem, 5vw, 6rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.ga-rice-field-story__intro h2 {
	max-width: 13ch;
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: clamp(2.7rem, 5.4vw, 6rem);
	font-weight: 620;
	letter-spacing: -.056em;
	line-height: .95;
}
.ga-rice-field-story__intro > p {
	max-width: 49rem;
	margin: 0;
	color: var(--ga-ink-soft);
	font-size: clamp(1.05rem, 1.5vw, 1.28rem);
	line-height: 1.62;
}
.ga-rice-field-story__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
	grid-template-rows: repeat(2, minmax(17rem, 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
}
.ga-rice-field-story__grid--compact {
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	grid-template-rows: minmax(26rem, 42vw);
}
.ga-rice-field-story__grid--compact .ga-rice-field-story__figure--structure { grid-row: auto; }
.ga-rice-field-story__figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(.8rem, 1.8vw, 1.35rem);
	background: #cfd5c7;
	box-shadow: 0 22px 58px rgba(7,26,32,.12);
}
.ga-rice-field-story__figure--structure { grid-row: 1 / span 2; }
.ga-rice-field-story__image {
	width: 100%;
	height: 100%;
	min-height: 20rem;
	background-position: center;
	background-size: cover;
	transition: transform 700ms cubic-bezier(.2,.75,.2,1);
}
.ga-rice-field-story__image--structure {
	background-image: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.54)), url("assets/images/editorial/rice-structure-hobcaw.webp");
	background-position: 50% 52%;
}
.ga-rice-field-story__image--core {
	background-image: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.58)), url("assets/images/editorial/rice-core-team-2025.webp");
	background-position: 50% 46%;
}
.ga-rice-field-story__image--survey {
	background-image: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.58)), url("assets/images/editorial/rice-survey-hobcaw.webp");
	background-position: 50% 49%;
}
.ga-rice-field-story__figure:hover .ga-rice-field-story__image { transform: scale(1.018); }
.ga-rice-field-story figcaption {
	position: absolute;
	right: 1.15rem;
	bottom: 1rem;
	left: 1.15rem;
	width: max-content;
	max-width: calc(100% - 2.3rem);
	padding: .45rem .65rem;
	border-radius: .35rem;
	background: rgba(7,26,32,.84);
	color: #fff;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .052em;
	line-height: 1.45;
	text-transform: uppercase;
}
@media (max-width: 860px) {
	.ga-rice-field-story__intro,
	.ga-rice-field-story__grid { grid-template-columns: 1fr; }
	.ga-rice-field-story__grid { grid-template-rows: none; }
	.ga-rice-field-story__figure--structure { grid-row: auto; }
	.ga-rice-field-story__image { min-height: min(76vw, 36rem); }
}
@media (max-width: 620px) {
	.ga-rice-field-story { padding-inline: 0; }
	.ga-rice-field-story__intro h2 { font-size: clamp(2.45rem, 12vw, 4.25rem); }
	.ga-rice-field-story__image { min-height: 74vw; }
}

/* ================================================================
   GeoArches Editorial Safe 1.2.4
   A shorter architecture and a more varied photographic sequence.
   These final rules intentionally override earlier compatibility layers.
   ================================================================ */
.ga-primary-menu { gap: clamp(.75rem, 1.55vw, 1.4rem); }
.ga-primary-menu a { font-size: .67rem; }

.ga-entry-projects .ga-page-hero {
	background-image:
		radial-gradient(circle at 78% 18%, rgba(216,173,69,.2), transparent 27%),
		linear-gradient(135deg, #071a20 0%, #15343a 58%, #526b64 100%);
	background-position: center;
}
.ga-entry-projects .ga-page-hero::after {
	background: linear-gradient(90deg, rgba(3,12,16,.78) 0%, rgba(3,12,16,.44) 62%, rgba(3,12,16,.14) 100%);
}

.ga-site-footer {
	padding-top: clamp(2.75rem, 5vw, 4.5rem);
	padding-bottom: 1.5rem;
}
.ga-footer-grid { align-items: start !important; }
.ga-footer-eyebrow { margin: 0; }
.ga-footer-menu {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .2rem 1.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ga-footer-bottom { margin-top: clamp(2rem, 4vw, 3.5rem); }

.ga-question-card,
.ga-feature-card {
	min-height: 0;
	padding: 1.35rem 0 1.5rem;
	border-width: 1px 0 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.ga-question-card .ga-number,
.ga-feature-card .ga-number {
	display: block;
	width: auto;
	height: auto;
	margin: 0 0 .9rem;
	border: 0;
	border-radius: 0;
	font-size: .68rem;
}
.ga-question-card h3,
.ga-feature-card h3,
.ga-feature-card h2 { margin-top: 0; }

.ga-entry-rice .wp-block-post-content > .ga-section:last-child,
.ga-entry-core .wp-block-post-content > .ga-section:last-child,
.ga-entry-eden .wp-block-post-content > .ga-section:last-child {
	padding-top: clamp(2.25rem, 4vw, 3.5rem);
	padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
}
.ga-entry-rice .wp-block-post-content > .ga-section:last-child .ga-cta,
.ga-entry-core .wp-block-post-content > .ga-section:last-child .ga-cta,
.ga-entry-eden .wp-block-post-content > .ga-section:last-child .ga-cta {
	display: grid;
	grid-template-columns: minmax(8rem, .35fr) minmax(18rem, 1fr) auto;
	gap: 1rem 2rem;
	align-items: center;
	padding: clamp(1.35rem, 2.5vw, 2rem);
}
.ga-entry-rice .wp-block-post-content > .ga-section:last-child .ga-cta > *,
.ga-entry-core .wp-block-post-content > .ga-section:last-child .ga-cta > *,
.ga-entry-eden .wp-block-post-content > .ga-section:last-child .ga-cta > * { margin: 0; }
.ga-entry-rice .wp-block-post-content > .ga-section:last-child .ga-subtitle,
.ga-entry-core .wp-block-post-content > .ga-section:last-child .ga-subtitle,
.ga-entry-eden .wp-block-post-content > .ga-section:last-child .ga-subtitle { font-size: clamp(1.35rem, 2.2vw, 2rem); }

.ga-project-hero--rice,
.ga-project-hero--core,
.ga-project-hero--eden,
.ga-entry-about .ga-page-hero,
.ga-entry-research .ga-page-hero,
.ga-entry-projects .ga-page-hero { padding-block: 0; }
.ga-project-hero--rice .ga-page-hero__inner,
.ga-project-hero--core .ga-page-hero__inner,
.ga-project-hero--eden .ga-page-hero__inner,
.ga-entry-about .ga-page-hero__inner,
.ga-entry-research .ga-page-hero__inner,
.ga-entry-projects .ga-page-hero__inner {
	padding-top: clamp(3rem, 6vw, 5.5rem);
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
}

@media (max-width: 960px) {
	body.ga-menu-open { overflow: hidden; }
	.ga-primary-menu { gap: 0; }
	.ga-primary-menu a { font-size: .78rem; }
	.ga-project-card--rice::after { background-position: 56% 50%; }
	.ga-project-card--eden::after { background-position: 42% 50%; }
}

@media (max-width: 781px) {
	.ga-safe-hero__figure { order: 0; }
	.ga-safe-hero__image { min-height: clamp(18rem, 68vw, 30rem); }
	.ga-home-project-grid .ga-project-card { min-height: clamp(21rem, 68vw, 24rem); }
	.ga-project-hero--rice,
	.ga-project-hero--core,
	.ga-project-hero--eden,
	.ga-entry-about .ga-page-hero,
	.ga-entry-research .ga-page-hero,
	.ga-entry-projects .ga-page-hero { min-height: 32rem; }
	.ga-project-hero--rice { background-position: 50% 50%; }
	.ga-project-hero--eden { background-position: 54% 50%; }
	.ga-entry-about .ga-page-hero { background-position: 50% 55%; }
	.ga-footer-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ga-entry-rice .wp-block-post-content > .ga-section:last-child .ga-cta,
	.ga-entry-core .wp-block-post-content > .ga-section:last-child .ga-cta,
	.ga-entry-eden .wp-block-post-content > .ga-section:last-child .ga-cta { grid-template-columns: 1fr; }
}
