/**
 * Aureum — main stylesheet.
 *
 * Built to Render #1. Color, type and spacing tokens come from theme.json as
 * --wp--preset--* custom properties, aliased here for readability; the design
 * system remains single-sourced in theme.json.
 */

/* ------------------------------------------------------------------ Tokens */

:root {
	--cream:      var(--wp--preset--color--cream, #F6F2EA);
	--limestone:  var(--wp--preset--color--limestone, #ECE6DA);
	--sand:       var(--wp--preset--color--sand, #DCD2C1);
	--bronze:     var(--wp--preset--color--bronze, #8E7038);
	--gold:       var(--wp--preset--color--gold, #B4934F);
	--olive:      var(--wp--preset--color--olive, #4C553F);
	--espresso:   var(--wp--preset--color--espresso, #221B15);
	--charcoal:   var(--wp--preset--color--charcoal, #262019);
	--stone:      var(--wp--preset--color--stone, #6B6156);
	--white:      #fff;

	--font-display: var(--wp--preset--font-family--display, 'Playfair Display', Georgia, serif);
	--font-ui:      var(--wp--preset--font-family--ui, Inter, system-ui, sans-serif);
	--font-script:  var(--wp--preset--font-family--script, Parisienne, cursive);

	--s-1: 0.5rem;  --s-2: 1rem;   --s-3: 1.5rem;
	--s-4: 2.5rem;  --s-5: 4rem;   --s-6: 6rem;  --s-7: 9rem;

	--container: 1280px;
	--gutter: clamp(1.25rem, 4vw, 3.5rem);

	--rule: 1px solid color-mix(in srgb, var(--charcoal) 12%, transparent);
	--rule-light: 1px solid color-mix(in srgb, var(--limestone) 18%, transparent);
	--ease: cubic-bezier(.22, .61, .36, 1);

	/* Tracking used on every small-caps label in the render. */
	--track: .18em;
}

/* ------------------------------------------------------------------- Reset */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

body {
	margin: 0;
	background: var(--cream);
	color: var(--charcoal);
	font-family: var(--font-ui);
	font-size: 1rem;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }

h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -0.018em;
	margin: 0 0 var(--s-2);
	text-wrap: balance;
}

p { margin: 0 0 var(--s-2); text-wrap: pretty; }

a { color: var(--olive); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--bronze); }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip-path: inset(50%);
	white-space: nowrap; border: 0;
}

.aureum-skip {
	position: absolute; left: -9999px;
	background: var(--espresso); color: var(--cream);
	padding: .75rem 1.25rem; z-index: 200;
}
.aureum-skip:focus { left: 1rem; top: 1rem; }

/* --------------------------------------------------------------- Structure */

.aureum-container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.aureum-section { padding-block: clamp(3.5rem, 8vw, var(--s-7)); }

.aureum-grid { display: grid; gap: var(--s-3); }
@media (min-width: 640px)  { .aureum-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .aureum-grid--3 { grid-template-columns: repeat(3, 1fr); } }

.aureum-eyebrow {
	font-family: var(--font-ui);
	font-size: .6875rem;
	font-weight: 500;
	letter-spacing: var(--track);
	text-transform: uppercase;
	color: var(--stone);
	margin: 0 0 var(--s-3);
}

.aureum-section__head { max-width: 62ch; margin-bottom: var(--s-4); }
.aureum-section__head.is-center { margin-inline: auto; text-align: center; }
.aureum-section__title { font-size: clamp(1.875rem, 4.2vw, 3rem); margin: 0 0 var(--s-2); }
.aureum-section__lead { font-size: 1.0625rem; color: var(--stone); margin: 0; }

.aureum-empty { color: var(--stone); font-style: italic; }

/* --------------------------------------------------- Empty media states ---
 *
 * Warm architectural washes standing in for photography that has not been
 * supplied. Deliberately not stock imagery, and visually distinct per slot so
 * a grid of them still reads as a designed composition.
 */

.aureum-empty-media {
	width: 100%; height: 100%;
	background: linear-gradient(152deg, var(--limestone), var(--sand));
	position: relative;
}
.aureum-empty-media::after {
	content: "";
	position: absolute; inset: 0;
	background: radial-gradient(70% 60% at 70% 20%, color-mix(in srgb, var(--gold) 20%, transparent), transparent 70%);
}
.aureum-empty-media--sell,
.aureum-empty-media--small-multifamily { background: linear-gradient(120deg, var(--sand), color-mix(in srgb, var(--bronze) 26%, var(--limestone))); }
.aureum-empty-media--invest,
.aureum-empty-media--flip { background: linear-gradient(200deg, color-mix(in srgb, var(--olive) 22%, var(--limestone)), var(--sand)); }
.aureum-empty-media--land,
.aureum-empty-media--development { background: linear-gradient(165deg, color-mix(in srgb, var(--gold) 34%, var(--limestone)), var(--sand)); }
.aureum-empty-media--portrait { aspect-ratio: 4 / 5; background: linear-gradient(150deg, var(--sand), color-mix(in srgb, var(--bronze) 30%, var(--limestone))); }
.aureum-empty-media--range {
	background:
		radial-gradient(100% 80% at 50% 100%, color-mix(in srgb, var(--espresso) 92%, transparent), transparent 70%),
		linear-gradient(180deg, #4A3C2E 0%, #2C2319 100%);
}

/* ------------------------------------------------------------- Staging bar */

.aureum-staging-bar {
	background: #8C2F1F;
	color: #fff;
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
	padding: .5rem 1rem;
	position: relative;
	z-index: 120;
}

/* ------------------------------------------------------------------ Header */

.aureum-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: color-mix(in srgb, var(--cream) 92%, transparent);
	backdrop-filter: saturate(140%) blur(12px);
	border-bottom: var(--rule);
}

.aureum-header__inner {
	max-width: var(--container);
	margin-inline: auto;
	padding: var(--s-2) var(--gutter);
	display: flex;
	align-items: center;
	gap: var(--s-3);
}

.aureum-logo { display: block; color: var(--gold); margin-right: auto; }
.aureum-logo:hover { color: var(--bronze); }

.aureum-logo__mark {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	font-weight: 500;
	letter-spacing: .3em;
	text-indent: .3em;
	line-height: 1;
	margin: 0;
}

/*
 * The logo image replaces the type-set wordmark. Height-capped rather than
 * width-capped: the lockup has to sit in a fixed header band, and the wordmark
 * inside it stops being readable below about 44px of height.
 *
 * The source is 556x243. At these sizes it is still carrying roughly four
 * times the pixels a 2x screen needs, which is the whole reason it is placed
 * here and nowhere larger. Raising these numbers past ~140px tall will start
 * to show it. Swapping in a vector or a wider PNG is the fix, not a bigger
 * clamp.
 */
.aureum-logo__img {
	display: block;
	width: auto;
	height: clamp(2.5rem, 4vw, 3rem);
	max-width: 100%;
}

.aureum-logo__tagline {
	display: block;
	font-size: .5625rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--stone);
	margin-top: .45rem;
}

.aureum-nav { display: flex; align-items: center; gap: var(--s-3); }

.aureum-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2vw, 1.75rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.aureum-nav__list a {
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--charcoal);
	padding-block: .25rem;
	border-bottom: 1px solid transparent;
}
.aureum-nav__list a:hover { color: var(--bronze); border-bottom-color: var(--gold); }

/* Agent identification block — values resolve through config, see header.php. */
.aureum-identity {
	padding-left: var(--s-3);
	border-left: var(--rule);
	line-height: 1.5;
}
.aureum-identity p { margin: 0; }
.aureum-identity__name {
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--charcoal);
}
.aureum-identity__role,
.aureum-identity__broker {
	font-size: .625rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--stone);
}

@media (max-width: 1180px) { .aureum-identity { display: none; } }

.aureum-nav-toggle {
	display: none;
	background: none; border: 0;
	padding: .5rem; cursor: pointer;
	color: var(--charcoal);
	order: 3;
}
.aureum-nav-toggle__bars { display: block; width: 22px; }
.aureum-nav-toggle__bars i {
	display: block; height: 1px; background: currentColor;
	transition: transform .3s var(--ease), opacity .2s var(--ease);
}
.aureum-nav-toggle__bars i + i { margin-top: 6px; }
.aureum-nav-toggle[aria-expanded="true"] i:first-child { transform: translateY(3.5px) rotate(45deg); }
.aureum-nav-toggle[aria-expanded="true"] i:last-child  { transform: translateY(-3.5px) rotate(-45deg); }

@media (max-width: 980px) {
	.aureum-nav-toggle { display: block; }
	.aureum-nav {
		position: fixed;
		inset: 0 0 auto;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: var(--s-3);
		min-height: 100dvh;
		padding: var(--s-6) var(--gutter);
		background: var(--cream);
		transform: translateX(100%);
		transition: transform .35s var(--ease);
		overflow-y: auto;
	}
	.aureum-nav.is-open { transform: translateX(0); }
	.aureum-nav__list { flex-direction: column; align-items: flex-start; gap: var(--s-2); }
	.aureum-nav__list a { font-family: var(--font-display); font-size: 1.75rem; letter-spacing: 0; text-transform: none; }
	.aureum-identity { display: block; padding-left: 0; border-left: 0; border-top: var(--rule); padding-top: var(--s-2); }
}

/* ----------------------------------------------------------------- Buttons */

.aureum-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	font-family: var(--font-ui);
	font-size: .6875rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1;
	padding: 1rem 1.5rem;
	border: 1px solid transparent;
	border-radius: 1px;
	cursor: pointer;
	transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}

.aureum-btn__arrow { transition: transform .3s var(--ease); }
.aureum-btn:hover .aureum-btn__arrow { transform: translateX(4px); }

.aureum-btn--dark    { background: var(--espresso); color: var(--cream); }
.aureum-btn--dark:hover { background: var(--bronze); color: var(--cream); }

.aureum-btn--primary { background: var(--espresso); color: var(--cream); }
.aureum-btn--primary:hover { background: var(--bronze); color: var(--cream); }

.aureum-btn--outline { border-color: color-mix(in srgb, var(--charcoal) 28%, transparent); color: var(--charcoal); }
.aureum-btn--outline:hover { border-color: var(--bronze); color: var(--bronze); }

.aureum-btn--ghost { color: var(--charcoal); border-color: color-mix(in srgb, var(--charcoal) 18%, transparent); padding: .7rem 1.1rem; }
.aureum-btn--ghost:hover { border-color: var(--bronze); color: var(--bronze); }

/* Hero buttons: outlined white on photography. */
.aureum-btn--hero { border-color: color-mix(in srgb, #fff 55%, transparent); color: #fff; }
.aureum-btn--hero:hover { background: #fff; color: var(--espresso); border-color: #fff; }

/* -------------------------------------------------------------------- Hero */

.aureum-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: min(82vh, 820px);
	overflow: hidden;
	isolation: isolate;
	background: var(--espresso);
}

.aureum-hero__media { position: absolute; inset: 0; z-index: -2; }
.aureum-hero__img { width: 100%; height: 100%; object-fit: cover; }

.aureum-hero__wash {
	width: 100%; height: 100%;
	background:
		radial-gradient(90% 70% at 78% 18%, color-mix(in srgb, var(--gold) 42%, transparent) 0%, transparent 60%),
		linear-gradient(170deg, #6E5A42 0%, #2A2119 100%);
}

/* Scrim so white type holds over any photograph. */
.aureum-hero::after {
	content: "";
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(95deg, rgba(20,15,11,.78) 0%, rgba(20,15,11,.42) 46%, rgba(20,15,11,.12) 72%),
		linear-gradient(0deg, rgba(20,15,11,.35) 0%, transparent 45%);
}

.aureum-hero__inner {
	position: relative;
	max-width: var(--container);
	width: 100%;
	margin-inline: auto;
	padding: var(--s-6) var(--gutter);
	color: #fff;
}

.aureum-hero__title {
	font-size: clamp(2.75rem, 7.4vw, 5.5rem);
	line-height: 1.02;
	letter-spacing: -.022em;
	color: #fff;
	margin: 0 0 var(--s-3);
}
.aureum-hero__line { display: block; }

.aureum-hero__lead {
	font-size: clamp(1rem, 1.5vw, 1.1875rem);
	line-height: 1.5;
	color: color-mix(in srgb, #fff 88%, transparent);
	margin: 0 0 var(--s-4);
	max-width: 42ch;
}

.aureum-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Hero rail — "MORE THAN REAL ESTATE." per Render #2. */
.aureum-hero__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-4); }
.aureum-hero__content { flex: 1 1 auto; }

.aureum-hero__rail { display: none; flex: 0 0 auto; text-align: left; padding-left: var(--s-3); border-left: 1px solid color-mix(in srgb, #fff 32%, transparent); }
.aureum-hero__rail-head { margin: 0 0 var(--s-3); }
.aureum-hero__rail-head span {
	display: block;
	font-size: clamp(.8125rem, 1.1vw, .9375rem);
	letter-spacing: .3em;
	text-transform: uppercase;
	color: #fff;
	line-height: 1.9;
}
.aureum-hero__rail-list span {
	display: block;
	font-size: .6875rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: color-mix(in srgb, #fff 76%, transparent);
	line-height: 2.1;
}
@media (min-width: 1100px) { .aureum-hero__rail { display: block; } }

.aureum-btn--hero-primary { background: var(--gold); color: var(--espresso); border-color: var(--gold); }
.aureum-btn--hero-primary:hover { background: #fff; border-color: #fff; color: var(--espresso); }

/* ---------------------------------------------- Pathway tiles (Render #2)
 *
 * Image on top, cream caption below — lighter than the first render's
 * full-bleed dark overlay.
 */

.aureum-pathways { background: var(--cream); padding: var(--s-2) var(--gutter) var(--s-4); }
.aureum-pathways__grid { display: grid; gap: var(--s-2); max-width: var(--container); margin-inline: auto; }
@media (min-width: 640px)  { .aureum-pathways__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .aureum-pathways__grid { grid-template-columns: repeat(4, 1fr); } }

.aureum-pathway { display: block; color: var(--charcoal); background: var(--limestone); }
.aureum-pathway:hover { color: var(--charcoal); }
.aureum-pathway__media { aspect-ratio: 4 / 3; overflow: hidden; }
.aureum-pathway__media img,
.aureum-pathway__media .aureum-empty-media { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.aureum-pathway:hover .aureum-pathway__media img { transform: scale(1.04); }

.aureum-pathway__body {
	display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-2);
	padding: var(--s-3) var(--s-2) var(--s-3) var(--s-3);
	min-height: 6.5rem;
}
.aureum-pathway__label {
	font-family: var(--font-display);
	font-size: 1.5rem; font-weight: 400; letter-spacing: .06em;
	color: var(--charcoal); margin: 0 0 .35rem;
}
.aureum-pathway__line { font-size: .8125rem; color: var(--stone); margin: 0; max-width: 24ch; line-height: 1.5; }
.aureum-pathway__arrow { color: var(--bronze); transition: transform .3s var(--ease); flex: 0 0 auto; }
.aureum-pathway:hover .aureum-pathway__arrow { transform: translateX(5px); }

/* ------------------------------------------- Investment — olive section */

.aureum-invest { background: var(--olive); color: color-mix(in srgb, var(--limestone) 92%, transparent); }
.aureum-invest__inner { display: grid; align-items: stretch; }
@media (min-width: 960px) { .aureum-invest__inner { grid-template-columns: 1.05fr .95fr; } }

.aureum-invest__content {
	padding: clamp(2.5rem, 6vw, var(--s-6)) var(--gutter);
	max-width: 42rem;
	margin-left: auto;
	width: 100%;
}
@media (min-width: 960px) { .aureum-invest__content { padding-right: var(--s-5); } }

.aureum-invest .aureum-eyebrow { color: color-mix(in srgb, var(--limestone) 80%, transparent); }
.aureum-eyebrow--rule { display: flex; align-items: center; gap: var(--s-2); }
.aureum-eyebrow--rule::after { content: ""; flex: 1 1 auto; height: 1px; background: color-mix(in srgb, var(--limestone) 34%, transparent); }

.aureum-invest__title { font-size: clamp(2.25rem, 4.6vw, 3.5rem); color: #fff; margin: 0 0 var(--s-3); }
.aureum-invest__lead { font-size: clamp(1.0625rem, 1.5vw, 1.25rem); color: #fff; line-height: 1.5; margin-bottom: var(--s-2); max-width: 36ch; }
.aureum-invest__content p { color: color-mix(in srgb, var(--limestone) 80%, transparent); max-width: 44ch; }

/* Six categories as a divided icon row. */
.aureum-invest__cats {
	list-style: none; margin: var(--s-4) 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
	border-top: 1px solid color-mix(in srgb, var(--limestone) 22%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--limestone) 22%, transparent);
}
@media (min-width: 720px) { .aureum-invest__cats { grid-template-columns: repeat(6, 1fr); } }

.aureum-invest__cat {
	display: flex; flex-direction: column; align-items: center; gap: .6rem;
	padding: var(--s-3) .4rem;
	text-align: center;
	border-right: 1px solid color-mix(in srgb, var(--limestone) 18%, transparent);
}
.aureum-invest__cat:last-child { border-right: 0; }
@media (max-width: 719px) {
	.aureum-invest__cat:nth-child(3n) { border-right: 0; }
	.aureum-invest__cat:nth-child(-n+3) { border-bottom: 1px solid color-mix(in srgb, var(--limestone) 18%, transparent); }
}
.aureum-invest__cat span {
	font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
	color: color-mix(in srgb, var(--limestone) 86%, transparent); line-height: 1.5;
}
.aureum-icon { width: 24px; height: 24px; color: var(--gold); }

.aureum-btn--on-olive { background: transparent; color: #fff; border-color: color-mix(in srgb, #fff 45%, transparent); }
.aureum-btn--on-olive:hover { background: #fff; color: var(--olive); border-color: #fff; }

.aureum-invest__feature { position: relative; min-height: 22rem; }
.aureum-invest__feature img,
.aureum-invest__feature .aureum-empty-media { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }

/* Script overlay — "Properties. Projects. Possibilities." */
.aureum-invest__script {
	position: absolute; right: clamp(1rem, 3vw, 2.5rem); bottom: clamp(1.5rem, 4vw, 3rem);
	margin: 0; text-align: right;
}
.aureum-invest__script span {
	display: block;
	font-family: var(--font-script);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 1px 12px rgba(20,15,11,.45);
}

/* ------------------------------------- Look Beyond the Listing (approach) */

.aureum-approach { background: var(--cream); }
.aureum-approach__inner { display: grid; gap: var(--s-4); align-items: center; }
@media (min-width: 960px) { .aureum-approach__inner { grid-template-columns: .8fr 1.2fr; gap: var(--s-5); } }

.aureum-approach__title { font-size: clamp(2rem, 4.4vw, 3rem); margin: 0 0 var(--s-3); }
.aureum-approach__content p { color: var(--stone); max-width: 38ch; margin-bottom: var(--s-3); }

.aureum-approach__gallery { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2); }
.aureum-approach__shot { margin: 0; aspect-ratio: 3 / 4; overflow: hidden; background: var(--limestone); }
.aureum-approach__shot img,
.aureum-approach__shot .aureum-empty-media { width: 100%; height: 100%; object-fit: cover; }

.aureum-approach__credential {
	grid-column: 1 / -1;
	justify-self: end;
	background: var(--limestone);
	padding: var(--s-2) var(--s-3);
	margin: 0;
	max-width: 22rem;
}
@media (min-width: 960px) {
	.aureum-approach__credential { position: absolute; right: 0; bottom: calc(var(--s-3) * -1); grid-column: auto; }
}
.aureum-approach__credential span {
	display: block;
	font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--stone); line-height: 2;
}

/* --------------------------------------------- The Aureum Experience ---- */

.aureum-experience {
	position: relative; isolation: isolate; overflow: hidden;
	background: var(--espresso);
	padding-block: clamp(2.5rem, 6vw, var(--s-5));
}
.aureum-experience__media { position: absolute; inset: 0; z-index: -2; }
.aureum-experience__media img,
.aureum-experience__media .aureum-empty-media { width: 100%; height: 100%; object-fit: cover; }
.aureum-experience::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(22,17,12,.72) 0%, rgba(22,17,12,.58) 100%);
}
.aureum-experience .aureum-eyebrow { color: color-mix(in srgb, var(--limestone) 72%, transparent); margin-bottom: var(--s-3); }

.aureum-experience__track { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); }
@media (min-width: 640px)  { .aureum-experience__track { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .aureum-experience__track { grid-template-columns: repeat(4, 1fr); gap: 0; } }

.aureum-experience__step { padding-inline: var(--s-3); }
@media (min-width: 1040px) {
	.aureum-experience__step + .aureum-experience__step { border-left: 1px solid color-mix(in srgb, var(--limestone) 24%, transparent); }
	.aureum-experience__step:first-child { padding-left: 0; }
}
.aureum-experience__num { display: block; font-size: .8125rem; letter-spacing: .14em; color: var(--gold); margin-bottom: .5rem; }
.aureum-experience__word {
	font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 400; letter-spacing: .04em; color: #fff; margin: 0 0 .5rem;
}
.aureum-experience__body { font-size: .875rem; color: color-mix(in srgb, var(--limestone) 72%, transparent); margin: 0; max-width: 22ch; }

/* ------------------------------------ Featured properties & projects ---- */

.aureum-featured-props { background: var(--cream); }
.aureum-featured-props__head {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--s-2); margin-bottom: var(--s-3);
	padding-bottom: var(--s-2); border-bottom: var(--rule);
}
.aureum-featured-props__head h2 { margin: 0; }
.aureum-featured-props__all { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bronze); white-space: nowrap; }

.aureum-prop-grid { display: grid; gap: var(--s-2); }
@media (min-width: 560px)  { .aureum-prop-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .aureum-prop-grid { grid-template-columns: repeat(4, 1fr); } }

.aureum-prop { background: var(--white); border: var(--rule); transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.aureum-prop:hover { box-shadow: 0 2px 4px rgba(38,32,25,.05), 0 16px 40px rgba(38,32,25,.09); transform: translateY(-2px); }
.aureum-prop__link { display: block; color: inherit; }
.aureum-prop__link:hover { color: inherit; }

.aureum-prop__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--limestone); }
.aureum-prop__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.aureum-prop:hover .aureum-prop__media img { transform: scale(1.03); }

.aureum-prop__badge {
	position: absolute; top: .7rem; left: .7rem;
	background: var(--cream); color: var(--charcoal);
	font-size: .5625rem; letter-spacing: .14em; text-transform: uppercase;
	padding: .4rem .65rem;
}
.aureum-prop__demo {
	position: absolute; top: .7rem; right: .7rem;
	background: #8C2F1F; color: #fff;
	font-size: .5rem; letter-spacing: .08em; text-transform: uppercase;
	padding: .35rem .5rem; max-width: 60%; text-align: right; line-height: 1.3;
}

.aureum-prop__body { padding: var(--s-2) var(--s-2) var(--s-3); }
.aureum-prop__location { font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: var(--stone); margin: 0 0 .4rem; }
.aureum-prop__price { font-family: var(--font-display); font-size: 1.375rem; color: var(--charcoal); margin: 0 0 .4rem; }
.aureum-prop__title { font-family: var(--font-display); font-size: 1.125rem; color: var(--charcoal); margin: 0 0 .4rem; }
.aureum-prop__spec { font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; color: var(--stone); margin: 0; line-height: 1.6; }

/* -------------------------------------------------------------------- Cards */

.aureum-card { background: var(--white); border: var(--rule); transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.aureum-card:hover { box-shadow: 0 2px 4px rgba(38,32,25,.05), 0 18px 48px rgba(38,32,25,.10); transform: translateY(-2px); }
.aureum-card__link { display: block; color: inherit; }
.aureum-card__link:hover { color: inherit; }

.aureum-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--limestone); }
.aureum-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.aureum-card:hover .aureum-card__media img { transform: scale(1.03); }

.aureum-card__placeholder { width: 100%; height: 100%; background: linear-gradient(140deg, var(--limestone), var(--sand)); }

.aureum-card__badge {
	position: absolute; top: .75rem; left: .75rem;
	background: color-mix(in srgb, var(--espresso) 90%, transparent);
	color: var(--cream);
	font-size: .625rem; letter-spacing: .12em; text-transform: uppercase;
	padding: .35rem .6rem;
}

.aureum-card__demo {
	position: absolute; top: .75rem; right: .75rem;
	background: #8C2F1F; color: #fff;
	font-size: .5625rem; letter-spacing: .08em; text-transform: uppercase;
	padding: .3rem .5rem;
}

.aureum-card__body { padding: var(--s-3); }
.aureum-card__title { font-size: 1.25rem; margin: 0 0 .35rem; }
.aureum-card__meta { font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bronze); margin: 0 0 .5rem; }
.aureum-card__excerpt { font-size: .9375rem; color: var(--stone); margin: 0; }

.aureum-work__actions { margin-top: var(--s-4); text-align: center; }

/* -------------------------------------------------------------------- About */

.aureum-about { background: var(--limestone); }
.aureum-about__inner { display: grid; gap: var(--s-4); align-items: center; }
@media (min-width: 900px)  { .aureum-about__inner { grid-template-columns: .6fr 1fr; } }
@media (min-width: 1140px) { .aureum-about__inner { grid-template-columns: .55fr .9fr .55fr; gap: var(--s-4); } }

.aureum-about__title { font-size: clamp(1.875rem, 4vw, 2.75rem); margin: 0 0 var(--s-3); }

.aureum-about__signature { border-left: var(--rule); padding-left: var(--s-3); }
@media (max-width: 1139px) { .aureum-about__signature { border-left: 0; padding-left: 0; border-top: var(--rule); padding-top: var(--s-3); } }
.aureum-about__script {
	font-family: var(--font-script);
	font-size: clamp(2rem, 4vw, 2.75rem);
	color: var(--charcoal);
	line-height: 1.1;
	margin: 0 0 var(--s-2);
}
.aureum-about__values { margin: var(--s-3) 0 0; }
.aureum-about__values span {
	display: block;
	font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--stone); line-height: 2;
}

.aureum-about__portrait img { width: 100%; }
.aureum-about__content p { color: var(--stone); max-width: 58ch; }
.aureum-about__identity { color: var(--charcoal) !important; font-size: .875rem; line-height: 1.8; margin-block: var(--s-3); }

.aureum-stats { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: grid; gap: var(--s-2); }
@media (min-width: 560px) { .aureum-stats { grid-template-columns: repeat(3, 1fr); } }
.aureum-stats li { border-top: 1px solid var(--sand); padding-top: var(--s-2); }
.aureum-stats__figure { display: block; font-family: var(--font-display); font-size: 2rem; line-height: 1; color: var(--bronze); }
.aureum-stats__label { display: block; font-size: .75rem; color: var(--stone); margin-top: .4rem; }
.aureum-stats__note { font-size: .6875rem; color: var(--stone); margin: var(--s-2) 0 0; font-style: italic; }

/* ---------------------------------------------------------------------- CTA */

.aureum-cta { background: var(--espresso); color: var(--cream); }
.aureum-cta h2 { color: var(--cream); }
.aureum-cta .aureum-eyebrow { color: var(--gold); }

.aureum-cta__grid {
	display: grid;
	gap: 1px;
	background: color-mix(in srgb, var(--limestone) 16%, transparent);
	border: 1px solid color-mix(in srgb, var(--limestone) 16%, transparent);
}
@media (min-width: 640px)  { .aureum-cta__grid { grid-template-columns: repeat(2, 1fr); } }
/* Four, not five: "Let's talk" came out of this grid in the buyer pass and became
   the single primary button above it. A five-column rule would leave a hole. */
@media (min-width: 1040px) { .aureum-cta__grid { grid-template-columns: repeat(4, 1fr); } }

.aureum-cta__item { display: block; background: var(--espresso); padding: var(--s-4) var(--s-2); color: var(--cream); text-align: center; transition: background .25s var(--ease); }
.aureum-cta__item:hover { background: #2E251C; color: var(--cream); }
.aureum-cta__label { display: block; font-family: var(--font-display); font-size: 1.5rem; margin-bottom: .35rem; }
.aureum-cta__note  { display: block; font-size: .75rem; color: color-mix(in srgb, var(--limestone) 66%, transparent); }

/* -------------------------------------------------------------- Page / prose */

.aureum-page { padding-block: clamp(2.5rem, 6vw, var(--s-6)); }
.aureum-page__head { max-width: 64ch; margin-bottom: var(--s-4); }
.aureum-page__title { font-size: clamp(2.25rem, 5.5vw, 3.5rem); margin: 0 0 var(--s-2); }
.aureum-page__lead { font-size: 1.0625rem; color: var(--stone); }
.aureum-page__media { margin: 0 0 var(--s-4); }

.aureum-prose { max-width: 68ch; }
.aureum-prose > * + * { margin-top: var(--s-2); }
.aureum-prose h2 { font-size: 1.875rem; margin-top: var(--s-4); }
.aureum-prose h3 { font-size: 1.375rem; margin-top: var(--s-3); }
.aureum-prose ul, .aureum-prose ol { padding-left: 1.25rem; }
.aureum-prose li + li { margin-top: .4rem; }
.aureum-prose blockquote {
	margin: var(--s-3) 0; padding-left: var(--s-3);
	border-left: 2px solid var(--gold);
	font-family: var(--font-display); font-size: 1.375rem; line-height: 1.4;
}

/* ------------------------------------------------------------- Breadcrumbs */

.aureum-breadcrumbs { margin-bottom: var(--s-3); }
.aureum-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.aureum-breadcrumbs li { font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); }
.aureum-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--sand); }
.aureum-breadcrumbs a { color: var(--stone); }
.aureum-breadcrumbs a:hover { color: var(--bronze); }

/* ---------------------------------------------------------- Service / area */

.aureum-service-hero { background: var(--limestone); padding-block: clamp(2.5rem, 6vw, var(--s-5)); }
.aureum-service-hero__title { font-size: clamp(2.25rem, 6vw, 3.75rem); margin: 0 0 var(--s-2); }
.aureum-service-hero__line { font-family: var(--font-display); font-size: 1.375rem; color: var(--bronze); margin: 0 0 var(--s-2); }
.aureum-service-hero__lead { font-size: 1.0625rem; color: var(--stone); max-width: 56ch; margin: 0; }

.aureum-service, .aureum-area { display: grid; gap: var(--s-5); padding-block: clamp(2.5rem, 6vw, var(--s-6)); }
@media (min-width: 980px) {
	.aureum-service, .aureum-area { grid-template-columns: 1.5fr .9fr; gap: var(--s-5); align-items: start; }
	.aureum-service__aside, .aureum-area__aside { position: sticky; top: 7rem; }
}

.aureum-service__related { margin-top: var(--s-5); }
.aureum-area__section { margin-top: var(--s-4); padding-top: var(--s-4); border-top: var(--rule); max-width: 68ch; }
.aureum-area__section h2 { font-size: 1.5rem; }

.aureum-area-hero { position: relative; padding-block: clamp(2.5rem, 7vw, var(--s-6)); background: var(--limestone); }
.aureum-area-hero__media { position: absolute; inset: 0; opacity: .26; }
.aureum-area-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.aureum-area-hero__inner { position: relative; }
.aureum-area-hero__title { font-size: clamp(2.25rem, 6vw, 3.75rem); margin: 0 0 var(--s-2); }
.aureum-area-hero__intro { max-width: 60ch; color: var(--stone); font-size: 1.0625rem; }

.aureum-area__service-links { display: grid; gap: 1px; background: var(--sand); border: 1px solid var(--sand); }
@media (min-width: 640px) { .aureum-area__service-links { grid-template-columns: repeat(2, 1fr); } }
.aureum-area__service-links a { display: block; background: var(--cream); padding: var(--s-2); color: var(--charcoal); }
.aureum-area__service-links a:hover { background: var(--limestone); }
.aureum-area__service-links strong { display: block; font-family: var(--font-display); font-size: 1.25rem; font-weight: 400; }
.aureum-area__service-links span { font-size: .875rem; color: var(--stone); }

.aureum-areas__filter { margin-bottom: var(--s-3); }
.aureum-areas__filter input {
	width: 100%; max-width: 22rem;
	padding: .8rem 1rem;
	border: 1px solid var(--sand);
	background: var(--white);
	font: inherit; font-size: .9375rem;
	border-radius: 1px;
}

.aureum-area-card { background: var(--white); border: var(--rule); transition: box-shadow .3s var(--ease); }
.aureum-area-card:hover { box-shadow: 0 1px 2px rgba(38,32,25,.04), 0 8px 24px rgba(38,32,25,.06); }
.aureum-area-card a { display: block; color: inherit; }
.aureum-area-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--limestone); }
.aureum-area-card__media img { width: 100%; height: 100%; object-fit: cover; }
.aureum-area-card__body { padding: var(--s-3); }
.aureum-area-card__body h2 { font-size: 1.375rem; margin: 0 0 .35rem; }
.aureum-area-card__body p { font-size: .9375rem; color: var(--stone); margin: 0; }

/* ------------------------------------------------------------------- Project */

.aureum-demo-notice { background: #8C2F1F; color: #fff; text-align: center; font-size: .8125rem; padding: .6rem 1rem; margin: 0; }

.aureum-project-hero { position: relative; }
.aureum-project-hero__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--limestone); }
.aureum-project-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.aureum-project-hero__inner { padding-block: var(--s-4); }
.aureum-project-hero__title { font-size: clamp(2.25rem, 6vw, 3.75rem); margin: 0 0 var(--s-2); }
.aureum-project-hero__lead { font-size: 1.125rem; color: var(--stone); max-width: 56ch; margin: 0; }

.aureum-project__facts { display: grid; gap: var(--s-2); padding-block: var(--s-3); border-block: var(--rule); margin: 0 0 var(--s-4); }
@media (min-width: 720px) { .aureum-project__facts { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
.aureum-project__fact dt { font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: var(--stone); margin-bottom: .3rem; }
.aureum-project__fact dd { margin: 0; font-size: .9375rem; }
.aureum-project__content { padding-bottom: var(--s-4); }
.aureum-project__cta { padding-bottom: var(--s-6); max-width: 720px; }

/* --------------------------------------------------------------------- FAQs */

.aureum-faq { border-bottom: var(--rule); }
.aureum-faq summary { cursor: pointer; padding: var(--s-2) 0; font-family: var(--font-display); font-size: 1.125rem; list-style: none; }
.aureum-faq summary::-webkit-details-marker { display: none; }
.aureum-faq summary::after { content: "+"; float: right; color: var(--bronze); }
.aureum-faq[open] summary::after { content: "–"; }
.aureum-faq > div { padding-bottom: var(--s-2); color: var(--stone); font-size: .9375rem; }

/* -------------------------------------------------------------------- Forms */

.aureum-form { background: var(--white); border: var(--rule); padding: var(--s-3); }
.aureum-form__title { font-size: 1.5rem; margin: 0 0 .5rem; }
.aureum-form__intro { font-size: .9375rem; color: var(--stone); margin: 0 0 var(--s-3); }

.aureum-form__fields { display: grid; gap: var(--s-2); }
@media (min-width: 560px) { .aureum-form__fields { grid-template-columns: repeat(2, 1fr); } }
.aureum-field--full { grid-column: 1 / -1; }

.aureum-field__label {
	display: block;
	font-size: .625rem; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--stone); margin-bottom: .4rem;
}
.aureum-field__req { color: var(--bronze); }

.aureum-field input,
.aureum-field select,
.aureum-field textarea {
	width: 100%;
	padding: .8rem .9rem;
	font: inherit; font-size: .9375rem;
	color: var(--charcoal);
	background: var(--cream);
	border: 1px solid var(--sand);
	border-radius: 1px;
	transition: border-color .2s var(--ease), background .2s var(--ease);
}
.aureum-field input:focus,
.aureum-field select:focus,
.aureum-field textarea:focus { border-color: var(--bronze); background: var(--white); outline: none; }
.aureum-field textarea { resize: vertical; min-height: 6rem; }

.aureum-field fieldset { border: 0; margin: 0; padding: 0; }
.aureum-field__options { display: grid; gap: .4rem; }
@media (min-width: 480px) { .aureum-field__options { grid-template-columns: repeat(2, 1fr); } }

.aureum-check { display: flex; align-items: center; gap: .5rem; font-size: .875rem; cursor: pointer; }
.aureum-check input { width: auto; accent-color: var(--bronze); }

.aureum-field__help { font-size: .75rem; color: var(--stone); margin: .35rem 0 0; }

.aureum-field.has-error input,
.aureum-field.has-error select,
.aureum-field.has-error textarea { border-color: #8C2F1F; }
.aureum-field__error { font-size: .75rem; color: #8C2F1F; margin: .35rem 0 0; }

.aureum-hp { position: absolute; left: -9999px; }

.aureum-form__actions { margin-top: var(--s-3); }
.aureum-form__note { font-size: .75rem; color: var(--stone); margin: .75rem 0 0; }
.aureum-form__status { margin-top: var(--s-2); font-size: .875rem; }
.aureum-form__status.is-error { color: #8C2F1F; }
.aureum-form__status.is-success { color: var(--olive); }
.aureum-form.is-submitting { opacity: .6; pointer-events: none; }

/* ------------------------------------------------------------------- Footer */

.aureum-footer { background: var(--espresso); color: color-mix(in srgb, var(--limestone) 78%, transparent); padding-block: var(--s-5) var(--s-3); }
.aureum-footer__inner { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); display: grid; gap: var(--s-4); }
@media (min-width: 900px) { .aureum-footer__inner { grid-template-columns: 1.2fr .8fr 1.2fr; } }

.aureum-footer .aureum-logo__mark { color: var(--gold); font-size: 1.125rem; }
.aureum-footer__logo { height: 3.25rem; }
.aureum-footer__tagline { font-size: .625rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin: .6rem 0 0; }
.aureum-footer__journey { font-size: .8125rem; margin-top: var(--s-2); }

.aureum-footer__list, .aureum-footer__legal-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.aureum-footer a { color: color-mix(in srgb, var(--limestone) 78%, transparent); font-size: .8125rem; }
.aureum-footer a:hover { color: var(--gold); }

.aureum-footer__agent { font-size: .8125rem; line-height: 1.8; color: var(--cream); }
.aureum-footer__notice {
	font-size: .75rem; line-height: 1.6;
	color: #F0C9A8;
	border-left: 2px solid #8C2F1F;
	padding-left: .75rem;
	margin-block: var(--s-2);
}
.aureum-footer__disclosures, .aureum-footer__marks, .aureum-footer__mls { font-size: .75rem; line-height: 1.6; }

.aureum-footer__legal {
	grid-column: 1 / -1;
	border-top: 1px solid color-mix(in srgb, var(--limestone) 14%, transparent);
	padding-top: var(--s-3);
	display: flex; flex-wrap: wrap; gap: var(--s-3);
	align-items: center; justify-content: space-between;
}
.aureum-footer__legal-list { display: flex; flex-wrap: wrap; gap: var(--s-3); }
.aureum-footer__copyright { font-size: .75rem; margin: 0; }

/* -------------------------------------------------------------- Reveal (JS) */

[data-reveal] { opacity: 1; }
.js [data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js [data-reveal] { opacity: 1; transform: none; } }

/* --------------------------------------------------------------- Pagination */

.navigation.pagination { margin-top: var(--s-4); }
.nav-links { display: flex; gap: .75rem; flex-wrap: wrap; font-size: .875rem; }
.nav-links .current { color: var(--bronze); font-weight: 500; }

/* ------------------------------------------- Sandbox / placeholder markers */

.aureum-portrait-flag {
	background: #8C2F1F;
	color: #fff;
	font-size: .6875rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
	padding: .5rem .75rem;
	margin: 0;
}

/* --------------------------------------------------------- Area pages ---- */

.aureum-area-page .aureum-area-hero { padding-block: clamp(2.5rem, 7vw, var(--s-6)); }
.aureum-area-hero__stand {
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2.4vw, 1.625rem);
	line-height: 1.32;
	color: var(--bronze);
	max-width: 46ch;
	margin: 0 0 var(--s-2);
}
.aureum-area-hero__intro { max-width: 62ch; color: var(--stone); font-size: 1.0625rem; }
.aureum-area-hero__intro p:last-child { margin-bottom: 0; }

.aureum-area__section h2 {
	font-size: clamp(1.5rem, 2.6vw, 1.875rem);
	margin-bottom: var(--s-2);
}
.aureum-area__section p { color: var(--stone); }
.aureum-area__section ul { color: var(--stone); padding-left: 1.1rem; }
.aureum-area__section li + li { margin-top: .4rem; }

/* Inline contextual CTAs, woven between sections. */
.aureum-inline-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--s-2);
	margin: var(--s-4) 0;
	padding: var(--s-3);
	background: var(--limestone);
	border-left: 2px solid var(--gold);
}
.aureum-inline-cta__text { flex: 1 1 18rem; }
.aureum-inline-cta__eyebrow {
	font-family: var(--font-display);
	font-size: 1.25rem;
	color: var(--charcoal);
	margin: 0 0 .25rem;
}
.aureum-inline-cta__line { font-size: .9375rem; color: var(--stone); margin: 0; }
.aureum-inline-cta .aureum-btn { flex: 0 0 auto; background: var(--cream); }

.aureum-inline-cta--invest { border-left-color: var(--olive); }
.aureum-inline-cta--land   { border-left-color: var(--bronze); }
.aureum-inline-cta--sell   { border-left-color: var(--charcoal); }

/* Aureum perspective callout. */
.aureum-area__lens { background: var(--cream); border-top: 2px solid var(--gold); padding-top: var(--s-3); }
.aureum-area__lens-note {
	font-size: .8125rem;
	font-style: italic;
	color: var(--stone);
	border-top: var(--rule);
	padding-top: var(--s-2);
	margin-top: var(--s-2);
}

/* Market data slots. */
.aureum-area-stats__notice {
	font-size: .8125rem;
	color: var(--stone);
	background: var(--limestone);
	border-left: 2px solid var(--sand);
	padding: .75rem 1rem;
	margin-bottom: var(--s-2);
}
.aureum-area-stats__grid { display: grid; gap: var(--s-2); margin: 0; }
@media (min-width: 640px) { .aureum-area-stats__grid { grid-template-columns: repeat(2, 1fr); } }
.aureum-area-stats__item { border-top: var(--rule); padding-top: .75rem; }
.aureum-area-stats__item dt {
	font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--stone); margin-bottom: .35rem;
}
.aureum-area-stats__item dd { margin: 0; font-size: .9375rem; }
.aureum-area-stats__source { display: block; font-size: .6875rem; color: var(--stone); margin-top: .2rem; }

/* Related areas. */
.aureum-area-related__lead { font-size: .9375rem; }
.aureum-area-related__list { list-style: none; margin: var(--s-2) 0 0; padding: 0; display: grid; gap: 1px; background: var(--sand); border: 1px solid var(--sand); }
@media (min-width: 640px) { .aureum-area-related__list { grid-template-columns: repeat(2, 1fr); } }
.aureum-area-related__list a { display: block; background: var(--cream); padding: var(--s-2); color: var(--charcoal); height: 100%; }
.aureum-area-related__list a:hover { background: var(--limestone); }
.aureum-area-related__list strong { display: block; font-family: var(--font-display); font-size: 1.125rem; font-weight: 400; }
.aureum-area-related__list span { display: block; font-size: .8125rem; color: var(--stone); margin-top: .2rem; }

.aureum-area__services-note { font-size: .875rem; margin-top: var(--s-2); display: flex; gap: .6rem; flex-wrap: wrap; }

/* ---------------------------------------------------------- Areas hub ---- */

.aureum-areas-hero { background: var(--limestone); padding-block: clamp(2.5rem, 7vw, var(--s-6)); }
.aureum-areas-hero__title { font-size: clamp(2.25rem, 6vw, 3.75rem); margin: 0 0 var(--s-3); max-width: 18ch; }
.aureum-areas-hero__lead { font-size: 1.0625rem; color: var(--stone); max-width: 62ch; }

.aureum-areas { padding-block: clamp(2.5rem, 6vw, var(--s-6)); }
.aureum-areas__region { margin-bottom: var(--s-5); }
.aureum-areas__region-head { margin-bottom: var(--s-3); padding-bottom: var(--s-2); border-bottom: var(--rule); max-width: 62ch; }
.aureum-areas__region-head h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 .35rem; }
.aureum-areas__region-head p { font-size: .9375rem; color: var(--stone); margin: 0; }

.aureum-area-card__media { aspect-ratio: 4 / 3; }
.aureum-area-card__body { position: relative; }
.aureum-area-card__body h3 { font-size: 1.375rem; margin: 0 0 .35rem; }
.aureum-area-card__more { position: absolute; right: var(--s-3); bottom: var(--s-3); color: var(--bronze); transition: transform .3s var(--ease); }
.aureum-area-card:hover .aureum-area-card__more { transform: translateX(5px); }

.aureum-areas__services { margin-top: var(--s-5); padding-top: var(--s-4); border-top: var(--rule); }
.aureum-areas__services h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: var(--s-3); }
.aureum-areas__form { margin-top: var(--s-5); max-width: 720px; }

/* Brokerage mark in the header — gated on a confirmed affiliation. */
.aureum-broker-mark { flex: 0 0 auto; display: flex; align-items: center; max-width: 7.5rem; }
.aureum-broker-mark img { max-height: 2rem; width: auto; object-fit: contain; }
.aureum-broker-mark--empty { font-size: .5625rem; }
@media (max-width: 1180px) { .aureum-broker-mark { display: none; } }

/* ------------------------------------------------------ Nav dropdown ---- */

.aureum-nav__list li { position: relative; }

.aureum-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: var(--s-2) 0;
	min-width: 13rem;
}

@media (min-width: 981px) {
	.aureum-nav__list .sub-menu {
		position: absolute;
		top: 100%;
		left: -1rem;
		background: var(--cream);
		border: var(--rule);
		box-shadow: 0 2px 4px rgba(38,32,25,.05), 0 18px 48px rgba(38,32,25,.12);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-4px);
		transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
		z-index: 50;
	}
	.aureum-nav__list li:hover > .sub-menu,
	.aureum-nav__list li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	.aureum-nav__list .sub-menu a {
		display: block;
		padding: .45rem 1.25rem;
		font-size: .6875rem;
		letter-spacing: .1em;
		border-bottom: 0;
		white-space: nowrap;
	}
	.aureum-nav__list .sub-menu a:hover { background: var(--limestone); color: var(--bronze); }

	/* Parent with children gets a caret. */
	.aureum-nav__list .menu-item-has-children > a::after {
		content: "";
		display: inline-block;
		width: .32em; height: .32em;
		margin-left: .45em;
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: translateY(-.15em) rotate(45deg);
	}
}

/* On the mobile panel the cities sit as an indented list rather than a popup. */
@media (max-width: 980px) {
	.aureum-nav__list .sub-menu {
		padding: .5rem 0 .75rem 1rem;
		border-left: 1px solid var(--sand);
		margin-top: .5rem;
	}
	.aureum-nav__list .sub-menu a {
		font-family: var(--font-ui);
		font-size: .8125rem;
		letter-spacing: .08em;
		text-transform: none;
		padding-block: .3rem;
	}
}


/* ---------------------------------------------------- Insight articles --- */

.aureum-article-hero { background: var(--limestone); padding-block: clamp(2.5rem, 6vw, var(--s-5)); }
.aureum-article-hero__title { font-size: clamp(2rem, 5vw, 3.25rem); margin: 0 0 var(--s-2); max-width: 22ch; }
.aureum-article-hero__stand { font-family: var(--font-display); font-size: clamp(1.125rem, 2vw, 1.5rem); color: var(--bronze); max-width: 48ch; margin: 0; line-height: 1.35; }
.aureum-article__media { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; }
.aureum-article__media img { width: 100%; height: 100%; object-fit: cover; }

.aureum-article__layout { display: grid; gap: var(--s-5); padding-block: clamp(2.5rem, 6vw, var(--s-6)); }
@media (min-width: 980px) {
	.aureum-article__layout { grid-template-columns: 1.4fr .8fr; align-items: start; }
	.aureum-article__aside { position: sticky; top: 7rem; display: grid; gap: var(--s-3); }
}
.aureum-article__body { max-width: 68ch; }
.aureum-article__body h2 { font-size: clamp(1.5rem, 2.6vw, 1.875rem); margin-top: var(--s-4); }
.aureum-article__body h3 { font-size: 1.25rem; margin-top: var(--s-3); }
.aureum-article__body p, .aureum-article__body li { color: var(--stone); }
.aureum-article__body strong { color: var(--charcoal); }

.aureum-article__disclaimer {
	font-size: .8125rem; font-style: italic; color: var(--stone);
	border-top: var(--rule); padding-top: var(--s-2); margin-top: var(--s-4);
}
.aureum-article__areas, .aureum-article__more, .aureum-article__faqs { margin-top: var(--s-4); padding-top: var(--s-3); border-top: var(--rule); }
.aureum-article__area-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.aureum-article__area-list a {
	display: inline-block; padding: .4rem .8rem; background: var(--limestone);
	font-size: .75rem; letter-spacing: .06em; color: var(--charcoal);
}
.aureum-article__area-list a:hover { background: var(--sand); color: var(--bronze); }
.aureum-article__more-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--sand); border: 1px solid var(--sand); }
.aureum-article__more-list a { display: block; background: var(--cream); padding: var(--s-2); color: var(--charcoal); }
.aureum-article__more-list a:hover { background: var(--limestone); }
.aureum-article__more-list strong { display: block; font-family: var(--font-display); font-size: 1.0625rem; font-weight: 400; }
.aureum-article__more-list span { display: block; font-size: .8125rem; color: var(--stone); margin-top: .2rem; }

.aureum-article__tool { background: var(--olive); color: var(--limestone); padding: var(--s-3); }
.aureum-article__tool h2 { font-size: 1.375rem; color: #fff; margin: 0 0 .5rem; }
.aureum-article__tool p { font-size: .875rem; color: color-mix(in srgb, var(--limestone) 82%, transparent); }
.aureum-article__tool .aureum-eyebrow { color: var(--gold); }
.aureum-article__tool .aureum-btn--primary { background: var(--gold); color: var(--espresso); }
.aureum-article__tool .aureum-btn--primary:hover { background: #fff; }

/* ------------------------------------------------- Feasibility tool ----- */

.aureum-tool-hero { background: var(--limestone); padding-block: clamp(2.5rem, 6vw, var(--s-5)); }
.aureum-tool-hero__title { font-size: clamp(2rem, 5vw, 3.25rem); margin: 0 0 var(--s-2); }
.aureum-tool-hero__lead { font-size: 1.0625rem; color: var(--stone); max-width: 58ch; }
.aureum-tool-hero__note { font-size: .8125rem; color: var(--bronze); margin: 0; }

.aureum-tool { padding-block: clamp(2.5rem, 6vw, var(--s-6)); max-width: 820px; }

.aureum-feas__progress { height: 2px; background: var(--sand); margin-bottom: var(--s-4); }
.aureum-feas__bar { display: block; height: 100%; width: 0; background: var(--bronze); transition: width .4s var(--ease); }

.aureum-feas__step { border: 0; margin: 0; padding: 0; }
.aureum-feas__q {
	display: flex; gap: .75rem; align-items: baseline;
	font-family: var(--font-display); font-size: clamp(1.375rem, 3vw, 1.875rem);
	line-height: 1.2; color: var(--charcoal); margin-bottom: .5rem; padding: 0;
}
.aureum-feas__q:focus { outline: none; }
.aureum-feas__n { font-family: var(--font-ui); font-size: .75rem; letter-spacing: .14em; color: var(--bronze); flex: 0 0 auto; }
.aureum-feas__help { font-size: .875rem; color: var(--stone); margin: 0 0 var(--s-3); }

.aureum-feas__options { display: grid; gap: .5rem; }
@media (min-width: 640px) { .aureum-feas__options { grid-template-columns: repeat(2, 1fr); } }

.aureum-feas__option {
	display: flex; align-items: center; gap: .75rem;
	padding: .9rem 1rem; background: var(--white);
	border: 1px solid var(--sand); border-radius: 1px;
	cursor: pointer; font-size: .9375rem;
	transition: border-color .2s var(--ease), background .2s var(--ease);
}
.aureum-feas__option:hover { border-color: var(--bronze); background: var(--limestone); }
.aureum-feas__option input { accent-color: var(--olive); flex: 0 0 auto; }
.aureum-feas__option:has(input:checked) { border-color: var(--olive); background: var(--limestone); }

.aureum-feas__nav { margin-top: var(--s-3); }
.aureum-feas__noscript { font-size: .875rem; color: var(--stone); margin-top: var(--s-3); }

.aureum-feas-result__head { margin-bottom: var(--s-4); padding-bottom: var(--s-3); border-bottom: var(--rule); }
.aureum-feas-result__head h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); margin: 0 0 var(--s-2); }
.aureum-feas-result__intro { color: var(--stone); margin: 0; max-width: 56ch; }

.aureum-feas-group { margin-bottom: var(--s-4); }
.aureum-feas-group h3 {
	font-family: var(--font-ui); font-size: .6875rem; font-weight: 600;
	letter-spacing: .16em; text-transform: uppercase;
	color: var(--stone); margin: 0 0 var(--s-2);
	padding-left: .75rem; border-left: 2px solid var(--sand);
}
.aureum-feas-group--p1 h3 { color: var(--bronze); border-left-color: var(--bronze); }
.aureum-feas-group--p2 h3 { color: var(--olive); border-left-color: var(--olive); }

.aureum-feas-group ol { list-style: none; margin: 0; padding: 0; counter-reset: check; display: grid; gap: var(--s-2); }
.aureum-feas-group li {
	counter-increment: check;
	background: var(--white); border: var(--rule);
	padding: var(--s-2) var(--s-3); position: relative;
}
.aureum-feas-group li::before {
	content: counter( check, decimal-leading-zero );
	position: absolute; top: var(--s-2); right: var(--s-3);
	font-size: .6875rem; letter-spacing: .1em; color: var(--sand);
}
.aureum-feas-group li strong { display: block; font-family: var(--font-display); font-size: 1.125rem; font-weight: 400; color: var(--charcoal); margin-bottom: .35rem; padding-right: 2.5rem; }
.aureum-feas-group li p { font-size: .875rem; color: var(--stone); margin: 0; }

.aureum-feas-result__reading { margin-bottom: var(--s-4); padding-top: var(--s-3); border-top: var(--rule); }
.aureum-feas-result__reading h3 { font-size: 1.125rem; margin-bottom: var(--s-2); }
.aureum-feas-result__reading ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.aureum-feas-result__reading a { font-size: .9375rem; }

.aureum-feas-result__disclaimer { font-size: .8125rem; font-style: italic; color: var(--stone); border-top: var(--rule); padding-top: var(--s-2); }
.aureum-feas-result__actions { margin-bottom: var(--s-4); }
.aureum-feas-result__capture { margin-top: var(--s-4); }


/* -------------------------------------------------------- About page ---- */

.aureum-about-hero { background: var(--limestone); padding-block: clamp(2.5rem, 6vw, var(--s-5)); }
.aureum-about-hero__inner { display: grid; gap: var(--s-4); align-items: center; }
@media (min-width: 900px) { .aureum-about-hero__inner { grid-template-columns: 1.3fr .7fr; gap: var(--s-5); } }

.aureum-about-hero__title { font-size: clamp(2rem, 5vw, 3.25rem); margin: 0 0 var(--s-3); max-width: 16ch; }
.aureum-about-hero__stand {
	font-family: var(--font-display);
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	line-height: 1.35;
	color: var(--bronze);
	max-width: 44ch;
	margin: 0;
}

.aureum-about-hero__portrait img { width: 100%; }
.aureum-about-hero__id { margin-top: var(--s-2); }
.aureum-about-hero__identity { font-size: .8125rem; line-height: 1.8; color: var(--stone); margin: 0; }

.aureum-about-page { display: grid; gap: var(--s-5); padding-block: clamp(2.5rem, 6vw, var(--s-6)); }
@media (min-width: 980px) {
	.aureum-about-page { grid-template-columns: 1.4fr .8fr; align-items: start; }
	.aureum-about-page__aside { position: sticky; top: 7rem; display: grid; gap: var(--s-3); }
}

.aureum-about-block { max-width: 68ch; }
.aureum-about-block + .aureum-about-block { margin-top: var(--s-4); padding-top: var(--s-4); border-top: var(--rule); }
.aureum-about-block h2 { font-size: clamp(1.5rem, 2.6vw, 1.875rem); margin-bottom: var(--s-2); }
.aureum-about-block h3 { font-size: 1.125rem; margin-top: var(--s-3); }
.aureum-about-block p, .aureum-about-block li { color: var(--stone); }

.aureum-about-background__years { display: flex; align-items: baseline; gap: .75rem; margin-bottom: var(--s-2); }
.aureum-about-background__figure { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 2.75rem); color: var(--bronze); line-height: 1; }
.aureum-about-background__years span:last-child { font-size: .875rem; color: var(--stone); max-width: 18ch; }

.aureum-about-background__list { list-style: none; margin: 0 0 var(--s-3); padding: 0; }
.aureum-about-background__list li {
	position: relative; padding: .5rem 0 .5rem 1.5rem;
	border-top: var(--rule); font-size: .9375rem;
}
.aureum-about-background__list li::before {
	content: ""; position: absolute; left: 0; top: 1.15rem;
	width: 10px; height: 1px; background: var(--gold);
}
.aureum-about-background__note {
	font-size: .8125rem; font-style: italic; color: var(--stone);
	border-top: var(--rule); padding-top: var(--s-2); margin-top: var(--s-3);
}

.aureum-about-approach { background: var(--limestone); padding: var(--s-3); border-left: 2px solid var(--gold); }
.aureum-about-approach h2 { margin-top: 0; }

.aureum-about-qa__item + .aureum-about-qa__item { margin-top: var(--s-3); padding-top: var(--s-3); border-top: var(--rule); }
.aureum-about-qa__item h3 {
	font-family: var(--font-ui); font-size: .6875rem; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase; color: var(--bronze);
	margin: 0 0 .5rem;
}

.aureum-about-card { background: var(--white); border: var(--rule); padding: var(--s-3); }
.aureum-about-card--values { background: var(--espresso); border-color: var(--espresso); }
.aureum-about-card--values span {
	display: block;
	font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase;
	color: var(--gold); line-height: 2.2;
}

.aureum-about-facts { margin: 0; display: grid; gap: var(--s-2); }
.aureum-about-facts div { border-top: var(--rule); padding-top: .6rem; }
.aureum-about-facts dt { font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: var(--stone); margin-bottom: .25rem; }
.aureum-about-facts dd { margin: 0; font-size: .9375rem; }

.aureum-about-specialties { list-style: none; margin: 0; padding: 0; }
.aureum-about-specialties li {
	font-size: .875rem; color: var(--stone);
	padding: .5rem 0; border-top: var(--rule);
}

.aureum-about-next .aureum-area__service-links { margin-top: var(--s-2); }

/* ============================================================ PORTFOLIO
   Grace's design and construction work. The gallery is deliberately not a
   lightbox carousel: these are drawings and construction photographs that
   reward being looked at properly, so they sit in the page at size with
   their captions attached, and click through to the full file. */

.aureum-project-status {
	display: inline-block;
	font-size: .625rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: .4rem .7rem;
	border-radius: 2px;
	line-height: 1;
}
/* Built and unbuilt read differently at a glance, on purpose. */
.aureum-project-status--built  { background: var(--olive); color: var(--cream); }
.aureum-project-status--design { background: var(--sand); color: var(--espresso); }

.aureum-project-card .aureum-area-card__media { position: relative; }
.aureum-project-card .aureum-project-status {
	position: absolute; left: .75rem; bottom: .75rem;
	box-shadow: 0 1px 6px rgb(34 27 21 / .25);
}

.aureum-project-status--inline { margin: var(--s-2) 0 0; }

.aureum-project-tags {
	list-style: none; margin: .75rem 0 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: .375rem;
}
.aureum-project-tags li {
	font-size: .6875rem; letter-spacing: .04em;
	color: var(--stone);
	border: var(--rule); border-radius: 2px;
	padding: .2rem .5rem;
}
.aureum-project-tags--large { margin: 0 0 var(--s-3); }
.aureum-project-tags--large li { font-size: .75rem; padding: .3rem .65rem; }

/* Credit. Bronze rule on the leading edge so it reads as a statement of
   record rather than a caption someone might skim past. */
.aureum-project-credit {
	border-left: 3px solid var(--bronze);
	background: var(--limestone);
	padding: var(--s-3);
	margin: 0 0 var(--s-5);
	max-width: 70ch;
}
.aureum-project-credit__label {
	font-size: .625rem; letter-spacing: .16em; text-transform: uppercase;
	color: var(--bronze); margin: 0 0 .5rem; font-family: var(--font-ui);
	font-weight: 600;
}
.aureum-project-credit p { margin: 0; font-size: .9375rem; line-height: 1.6; }
.aureum-project-credit__note {
	margin-top: .75rem !important;
	color: var(--stone); font-style: italic;
}

.aureum-project-gallery__section { padding-bottom: var(--s-5); }
.aureum-project-gallery__heading {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 var(--s-1);
	padding-top: var(--s-3);
	border-top: var(--rule);
}
.aureum-project-gallery__intro {
	color: var(--stone); max-width: 62ch; margin: 0 0 var(--s-3);
}

.aureum-project-gallery__grid {
	display: grid; gap: var(--s-3);
	grid-template-columns: 1fr;
}
@media (min-width: 860px) {
	.aureum-project-gallery__grid { grid-template-columns: 1fr 1fr; }
	/* Drawings and panoramas take a row to themselves. */
	.aureum-project-figure--plan,
	.aureum-project-figure--pano { grid-column: 1 / -1; }
}

.aureum-project-figure { margin: 0; }
.aureum-project-figure a { display: block; }
.aureum-project-figure img {
	width: 100%; height: auto; display: block;
	background: var(--limestone);
	border: var(--rule);
}

/* A plan sheet is usually upright. Give it a whole row but cap its width and
   center it, rather than stretching it across the page — a stretched upright
   drawing just sits in a wide empty band. Full detail is one click away. */
.aureum-project-figure--plan img,
.aureum-project-figure--plan figcaption {
	max-width: min(100%, 900px);
	margin-inline: auto;
}

.aureum-project-figure figcaption {
	font-size: .8125rem; color: var(--stone);
	margin-top: .6rem; line-height: 1.5;
}
.aureum-project-figure--plan figcaption { text-align: center; }

.aureum-project-disclaimer {
	font-size: .8125rem; color: var(--stone);
	border-top: var(--rule); padding-top: var(--s-2);
	margin: 0 0 var(--s-4); max-width: 72ch;
}

.aureum-project-nav { border-block: var(--rule); background: var(--limestone); }
.aureum-project-nav__inner {
	display: grid; gap: var(--s-2);
	padding-block: var(--s-3);
	align-items: center;
}
@media (min-width: 720px) {
	.aureum-project-nav__inner { grid-template-columns: 1fr auto 1fr; }
	.aureum-project-nav__link--next { text-align: right; }
}
.aureum-project-nav__link { display: block; text-decoration: none; }
.aureum-project-nav__dir {
	display: block; font-size: .625rem; letter-spacing: .16em;
	text-transform: uppercase; color: var(--stone); margin-bottom: .25rem;
}
.aureum-project-nav__title {
	display: block; font-family: var(--font-display);
	font-size: 1.0625rem; color: var(--espresso);
}
.aureum-project-nav__link:hover .aureum-project-nav__title { color: var(--bronze); }
.aureum-project-nav__all {
	font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--stone); text-decoration: none;
	border: var(--rule); border-radius: 2px; padding: .5rem .9rem;
	justify-self: start;
}
@media (min-width: 720px) { .aureum-project-nav__all { justify-self: center; } }
.aureum-project-nav__all:hover { color: var(--bronze); border-color: var(--bronze); }

.aureum-portfolio-note {
	border-top: var(--rule); padding-top: var(--s-3);
	margin-bottom: var(--s-5); max-width: 72ch;
}
.aureum-portfolio-note h2 { font-size: 1.25rem; margin: 0 0 var(--s-2); }
.aureum-portfolio-note p { font-size: .875rem; color: var(--stone); margin: 0 0 .85rem; line-height: 1.65; }

.aureum-about-credential {
	display: flex; align-items: center; gap: var(--s-2);
	border: var(--rule); border-radius: 2px;
	padding: var(--s-2); margin: var(--s-3) 0;
	background: var(--limestone);
}
.aureum-about-credential img { width: auto; max-width: 180px; height: auto; display: block; }
.aureum-about-credential p { margin: 0; font-size: .875rem; color: var(--stone); }

/* ======================================================================
   Advertising identification
   ----------------------------------------------------------------------
   Name, REALTOR mark and employing broker, rendered by one function
   (aureum_identity_block) wherever they appear. The brokerage mark is
   deliberately the largest element: Arizona wants it prominent, and Grace
   asked for it bigger than it was.
   ====================================================================== */

.aureum-identity__role {
	color: var(--bronze);
	font-weight: 600;
}
.aureum-identity__broker { margin-top: .5rem; }
/*
 * Sized against the Aureum mark, not in isolation. When the Aureum wordmark
 * was type-set it stood about 28px; the logo lockup that replaced it is taller,
 * and left alone that silently made the brokerage the smaller mark in the
 * header. Grace's own brand note is that Perk Prop goes beside the logo "just
 * as clearly", and Arizona wants the employing broker identified prominently,
 * so the two are kept in step: raise one and raise this.
 */
.aureum-identity__logo {
	display: block;
	width: auto;
	max-width: 10.5rem;
	max-height: 2.75rem;
	object-fit: contain;
}
.aureum-identity__broker-link { display: inline-block; line-height: 0; }
.aureum-identity__broker-name {
	font-size: .625rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--stone);
	margin-top: .35rem !important;
}
.aureum-identity__broker-name a { color: inherit; text-decoration: none; }
.aureum-identity__broker-name a:hover { color: var(--bronze); }

/* In the header the logo carries the name already, and the row is tight.
   The written name is still on every page, in the footer. */
.aureum-header .aureum-identity__broker-name { display: none; }

.aureum-identity--dark .aureum-identity__name { color: var(--cream); }
.aureum-identity--dark .aureum-identity__role { color: var(--gold); }
.aureum-identity--dark .aureum-identity__broker-name { color: color-mix(in srgb, var(--cream) 72%, transparent); }

.aureum-identity--footer,
.aureum-identity--signature,
.aureum-identity--credential {
	padding-left: 0;
	border-left: 0;
	display: block;
}
.aureum-identity--footer .aureum-identity__logo,
.aureum-identity--signature .aureum-identity__logo,
.aureum-identity--credential .aureum-identity__logo {
	max-width: 12rem;
	max-height: 3.25rem;
}
.aureum-identity--footer .aureum-identity__name { font-size: .8125rem; }
.aureum-identity--footer { margin-bottom: var(--s-2); }

/* The identity block is hidden in the compact header, but never in the
   footer or on a page body — the footer copy is what Arizona requires. */
@media (max-width: 1180px) {
	.aureum-identity--footer,
	.aureum-identity--signature,
	.aureum-identity--credential { display: block; }
}

/* ---------------------------------------------------------- Coming soon */

.aureum-coming-soon {
	position: absolute;
	inset: auto 0 1.25rem;
	text-align: center;
	font-size: .625rem;
	letter-spacing: var(--track);
	text-transform: uppercase;
	color: var(--espresso);
	opacity: .65;
}
.aureum-empty-media { position: relative; }

/* --------------------------------------------------------- Before / after */

.aureum-ba {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-2);
}
@media (min-width: 640px) {
	.aureum-ba { grid-template-columns: 1fr 1fr; }
}
.aureum-ba__half { margin: 0; }
.aureum-ba__half img {
	display: block;
	width: 100%;
	height: auto;
	background: var(--limestone);
}
.aureum-ba__half figcaption {
	font-size: .75rem;
	line-height: 1.5;
	color: var(--stone);
	margin-top: .5rem;
}
.aureum-ba__tag {
	display: inline-block;
	font-size: .5625rem;
	letter-spacing: var(--track);
	text-transform: uppercase;
	color: var(--espresso);
	background: var(--sand);
	border-radius: 2px;
	padding: .15rem .45rem;
	margin-right: .4rem;
}
.aureum-ba__tag--after { background: var(--bronze); color: var(--cream); }
.aureum-ba__note {
	grid-column: 1 / -1;
	font-size: .8125rem;
	line-height: 1.6;
	color: var(--stone);
	margin: 0;
}

/* The invest feature frame absolutely positions a single image in the base
   layout; a two-up pair needs normal flow instead.
   This is why Grace saw only the "after" on the home page: the rule at the top
   of this file pins every image in the frame to inset:0, so the two halves of
   the pair were stacked on top of each other and the later one won. */
.aureum-invest__feature { min-height: 0; }
.aureum-invest__feature .aureum-ba__half img {
	position: static;
	height: auto;
	object-fit: contain;
}
.aureum-invest__feature .aureum-ba__note,
.aureum-invest__feature .aureum-ba__half figcaption {
	color: color-mix(in srgb, var(--cream) 78%, transparent);
}

.aureum-approach__gallery { grid-template-columns: 1fr; }
.aureum-approach__gallery .aureum-approach__shot { aspect-ratio: auto; }
.aureum-approach__shot figcaption {
	font-size: .75rem; color: var(--stone); margin-top: .5rem; line-height: 1.5;
}

/* ================================================================ Carousel */

.aureum-carousel { position: relative; overflow: hidden; background: var(--limestone); }
.aureum-carousel__track { position: relative; height: 100%; }

/* Every slide stacks; only the active one is painted. Keeping them all in
   the DOM means the lightbox and the counter agree on the index, and lazy
   loading keeps the cost down to the first image. */
.aureum-carousel__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s var(--ease);
}
.aureum-carousel__slide.is-active { position: relative; opacity: 1; visibility: visible; height: 100%; }
.aureum-carousel__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.aureum-carousel--hero { aspect-ratio: 16 / 9; }
.aureum-carousel--card { aspect-ratio: 4 / 3; }

/* A drawing must not be cropped to fill a 16:9 frame — half the plan would
   fall outside it. Contained, on the page's own ground. */
.aureum-carousel--hero .aureum-carousel__slide img {
	object-fit: contain;
	background: var(--limestone);
}

.aureum-carousel__caption {
	position: absolute;
	inset: auto 0 0;
	margin: 0;
	padding: 2.5rem var(--gutter) 1rem;
	font-size: .8125rem;
	color: var(--cream);
	background: linear-gradient(to top, rgb(34 27 21 / .72), transparent);
}
.aureum-carousel--card .aureum-carousel__caption { display: none; }

.aureum-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 50%;
	background: rgb(246 242 234 / .88);
	color: var(--espresso);
	font-size: 1rem;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background .2s var(--ease);
}
.aureum-carousel__arrow:hover { background: var(--cream); }
.aureum-carousel__arrow--prev { left: .75rem; }
.aureum-carousel__arrow--next { right: .75rem; }

.aureum-carousel__counter {
	position: absolute;
	top: .75rem;
	right: .75rem;
	margin: 0;
	font-size: .6875rem;
	letter-spacing: .08em;
	color: var(--espresso);
	background: rgb(246 242 234 / .88);
	border-radius: 2px;
	padding: .2rem .5rem;
}

.aureum-lightbox-open {
	position: absolute;
	left: .75rem;
	top: .75rem;
	border: 0;
	border-radius: 2px;
	background: rgb(246 242 234 / .88);
	color: var(--espresso);
	font-family: var(--font-ui);
	font-size: .625rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: .4rem .7rem;
	cursor: pointer;
	z-index: 2;
}
.aureum-lightbox-open:hover { background: var(--cream); }
.aureum-lightbox-open--hero { left: auto; right: .75rem; top: auto; bottom: .75rem; }

.aureum-carousel__jump {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
	padding: var(--s-2) var(--gutter);
}
.aureum-carousel__jump-label {
	font-size: .5625rem; letter-spacing: var(--track);
	text-transform: uppercase; color: var(--stone);
	margin-right: .3rem;
}
.aureum-carousel__chip {
	font-family: var(--font-ui);
	font-size: .6875rem;
	letter-spacing: .04em;
	color: var(--espresso);
	background: none;
	border: var(--rule);
	border-radius: 2px;
	padding: .3rem .65rem;
	cursor: pointer;
	transition: border-color .2s var(--ease), color .2s var(--ease);
}
.aureum-carousel__chip:hover { border-color: var(--bronze); color: var(--bronze); }

/* ================================================================ Lightbox */

body.has-lightbox { overflow: hidden; }

.aureum-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgb(34 27 21 / .95);
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto 1fr;
	align-items: center;
	padding: 0 0 var(--s-3);
}
.aureum-lightbox[hidden] { display: none; }

.aureum-lightbox__bar {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: var(--s-2);
	padding: var(--s-2) var(--gutter);
	color: var(--cream);
}
.aureum-lightbox__title {
	margin: 0; flex: 1 1 auto;
	font-family: var(--font-display); font-size: 1rem;
}
.aureum-lightbox__count { margin: 0; font-size: .75rem; opacity: .7; }
.aureum-lightbox__close {
	background: none; border: 0; color: var(--cream);
	font-size: 1.75rem; line-height: 1; cursor: pointer; padding: 0 .25rem;
}

.aureum-lightbox__figure {
	grid-column: 2;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--s-2);
	min-height: 0;
	height: 100%;
}
.aureum-lightbox__figure img {
	max-width: 100%;
	max-height: calc(100dvh - 11rem);
	width: auto; height: auto;
	object-fit: contain;
	background: var(--espresso);
}
.aureum-lightbox__figure figcaption {
	color: var(--cream);
	font-size: .8125rem;
	text-align: center;
	max-width: 70ch;
	padding: 0 var(--gutter);
}

.aureum-lightbox__arrow {
	background: none; border: 0;
	color: var(--cream);
	font-size: 1.5rem;
	cursor: pointer;
	padding: var(--s-2) var(--s-1);
	align-self: center;
}
.aureum-lightbox__arrow--prev { grid-column: 1; }
.aureum-lightbox__arrow--next { grid-column: 3; }
.aureum-lightbox__arrow:hover { color: var(--gold); }

@media (max-width: 640px) {
	.aureum-lightbox { grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr auto; }
	.aureum-lightbox__figure { grid-column: 1 / -1; }
	.aureum-lightbox__arrow { align-self: end; }
	.aureum-lightbox__arrow--prev { grid-column: 1; grid-row: 3; justify-self: start; }
	.aureum-lightbox__arrow--next { grid-column: 2; grid-row: 3; justify-self: end; }
}

/* ============================= Additional construction experience ======== */

.aureum-additional { margin-bottom: var(--s-5); }
.aureum-additional__list {
	list-style: none; margin: var(--s-3) 0 0; padding: 0;
	display: grid; gap: var(--s-3);
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
.aureum-additional__figure { margin: 0; }
.aureum-additional__figure img {
	display: block; width: 100%; height: auto;
	aspect-ratio: 4 / 3; object-fit: cover; background: var(--limestone);
}
.aureum-additional__figure figcaption {
	font-size: .75rem; color: var(--stone); margin-top: .4rem; line-height: 1.5;
}
.aureum-additional__role {
	font-size: .875rem; color: var(--espresso); margin: .6rem 0 0; line-height: 1.5;
}
/* The Troon image is a listing photograph, not Grace's. Shown small, as the
   README requires, so it never reads as part of her own photography. */
.aureum-additional__item--small .aureum-additional__figure img { max-width: 14rem; }

/* ============================================================ Credentials */

.aureum-credential-inline {
	display: inline-flex; align-items: center; gap: .6rem;
	margin-left: .6rem; vertical-align: middle;
}
/* Sized for the cropped artwork Grace supplied in Round 6. The original wide
   PNGs carried ~15% transparent margin on each side and 29% top and bottom, so
   a box this size rendered lettering half this tall — which is what "the badge
   is too small" was. The mark is a single line at roughly 9.5:1, so width is
   what makes it readable; it stays shorter than the Perk Prop lockup. */
.aureum-credential-inline__badge {
	width: auto; max-width: 13rem; max-height: 1.8rem; object-fit: contain; display: block;
}
.aureum-credential-inline__text {
	font-size: .6875rem; letter-spacing: .06em; color: var(--stone);
}
.aureum-credential-inline--hero {
	display: flex; margin: var(--s-3) 0 0;
}
.aureum-credential-inline--hero .aureum-credential-inline__badge { max-width: 16rem; max-height: 2.2rem; }

.aureum-credentials-row {
	border: var(--rule); border-radius: 2px;
	padding: var(--s-3); margin: var(--s-3) 0;
	background: var(--limestone);
}
.aureum-credentials-row__items {
	display: grid; gap: var(--s-3); margin-top: var(--s-2);
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	align-items: start;
}
.aureum-credentials-row__item {
	display: flex; flex-direction: column; gap: .5rem;
	font-size: .8125rem; color: var(--stone); line-height: 1.5;
}
.aureum-credentials-row__badge {
	width: auto; max-width: 17rem; max-height: 2.4rem; object-fit: contain; display: block;
}
.aureum-credentials-row__mark {
	font-size: 1rem; font-weight: 600; letter-spacing: .08em; color: var(--bronze);
}
/* Perk Prop at least as prominent as the IDI badge, per Grace's note and
   per the advertising rule. The IDI mark is wider because it is one long line
   of type; the brokerage lockup is taller and carries far more ink, which is
   the comparison that reads as "weight" on the page. */
.aureum-credentials-row__item--broker .aureum-identity__logo { max-width: 14rem; max-height: 3.8rem; }

/* ================================================= Professional background */

.aureum-about-profession {
	display: grid; gap: var(--s-2); margin: var(--s-3) 0;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}
.aureum-about-profession__shot { margin: 0; }
.aureum-about-profession__shot img {
	display: block; width: 100%; height: auto;
	aspect-ratio: 3 / 2; object-fit: cover; background: var(--limestone);
}
.aureum-about-profession__shot figcaption {
	font-size: .6875rem; color: var(--stone); margin-top: .35rem;
	font-style: italic;
}

/* ============================================================ Service page */

/* The hero, the grid and the body column already exist for the Buy / Sell /
   Invest / Land pages, and the feasibility page is a service page like any
   other — it reuses them rather than redefining them. Only the pieces below
   are new. */
.aureum-service__block { margin-bottom: var(--s-4); }
.aureum-service__block h2 { font-size: 1.5rem; margin: 0 0 var(--s-2); }
.aureum-service__list { margin: 0; padding-left: 1.1rem; }
.aureum-service__list li { margin-bottom: .5rem; line-height: 1.65; }
.aureum-service__fee p {
	font-family: var(--font-display); font-size: 1.25rem; color: var(--espresso); margin: 0;
}
.aureum-service__alt p { font-size: .9375rem; color: var(--stone); margin: 0; }
.aureum-service__disclaimer {
	border-top: var(--rule); padding-top: var(--s-2);
	font-size: .8125rem; line-height: 1.65; color: var(--stone);
}

/* ======================================= Rounds 7 & 8: page copy blocks === */

/* Grace's approved service copy: headed sections, labeled lists, required
   small print. Deliberately plain — the copy is the thing on these pages. */

.aureum-copy { margin: var(--s-4) 0; }
.aureum-copy__heading {
	font-family: var(--font-display);
	font-size: 1.5rem; line-height: 1.25; margin: 0 0 var(--s-2);
}
.aureum-copy p { line-height: 1.7; margin: 0 0 var(--s-2); }
.aureum-copy__list-label { font-weight: 600; margin-bottom: .5rem; }
.aureum-copy__list { margin: 0 0 var(--s-2); padding-left: 1.1rem; }
.aureum-copy__list li { margin-bottom: .6rem; line-height: 1.65; }
.aureum-copy__list strong { display: block; }
.aureum-copy__links { font-size: .9375rem; }
.aureum-copy__cta { margin: var(--s-3) 0; }
.aureum-copy--financing {
	border: var(--rule); border-radius: 2px;
	padding: var(--s-3); background: var(--limestone);
}
.aureum-copy--form { margin-top: var(--s-4); }

/* Required wording. Small, never hidden: a disclaimer that only renders at
   one breakpoint is not a disclaimer. */
.aureum-smallprint {
	font-size: .8125rem; line-height: 1.65; color: var(--stone);
	border-top: var(--rule); padding-top: var(--s-2); margin: var(--s-3) 0 0;
}

/* ------------------------------------------- Why work with me / How I work */

.aureum-why { background: var(--limestone); }
.aureum-why__inner { display: grid; gap: var(--s-5); }
@media (min-width: 900px) {
	.aureum-why__inner { grid-template-columns: 1fr 1fr; }
	.aureum-why__services { grid-column: 1 / -1; }
}
.aureum-pitch__headline {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2;
	margin: 0 0 var(--s-2);
}
.aureum-pitch__body p { line-height: 1.7; margin: 0 0 var(--s-2); }
.aureum-pitch__points {
	list-style: none; margin: var(--s-3) 0 0; padding: 0;
	display: grid; gap: var(--s-2);
}
.aureum-pitch__point {
	display: grid; grid-template-columns: 1.5rem 1fr;
	column-gap: .75rem; align-items: start;
}
.aureum-pitch__point svg { width: 1.25rem; height: 1.25rem; grid-row: span 2; }
.aureum-pitch__point-label {
	font-size: .75rem; letter-spacing: var(--track); text-transform: uppercase;
	color: var(--bronze);
}
.aureum-pitch__point-text { font-size: .9375rem; line-height: 1.6; color: var(--stone); }
.aureum-why__services { font-size: .9375rem; color: var(--stone); margin: 0; }
.aureum-why__services span:first-child {
	letter-spacing: var(--track); text-transform: uppercase;
	font-size: .6875rem; margin-right: .5rem;
}
.aureum-pitch--about { margin-top: var(--s-3); }

/* ===================================== Round 9: Arizona bands and options === */

/* A real, licensed Arizona photograph between sections. Decorative: it is
   never captioned and never stands in for a property. */
.aureum-band { margin: var(--s-5) 0; }
.aureum-band img {
	display: block; width: 100%; height: clamp(14rem, 32vw, 26rem);
	object-fit: cover; background: var(--limestone);
}
.aureum-band--inset { margin: var(--s-4) 0 0; }
.aureum-band--inset img { height: clamp(10rem, 22vw, 16rem); }

/* The "after" half of a before/after, when it holds several design options.
   Sized to the half it sits in, so it cannot grow past the "before". */
.aureum-carousel--ba { position: relative; }
.aureum-carousel--ba .aureum-carousel__slide { display: none; }
.aureum-carousel--ba .aureum-carousel__slide.is-active { display: block; }
.aureum-carousel--ba img { display: block; width: 100%; height: auto; }
.aureum-carousel--ba .aureum-carousel__caption {
	position: absolute; left: 0; bottom: 0;
	margin: 0; padding: .3rem .6rem;
	font-size: .6875rem; letter-spacing: .04em;
	color: var(--cream); background: color-mix(in srgb, var(--espresso) 72%, transparent);
}
.aureum-ba__more { font-size: .875rem; margin: var(--s-2) 0 0; grid-column: 1 / -1; }

/* Three words, no taglines — Round 9. */
.aureum-pitch__point--bare { align-items: center; }
.aureum-pitch__point--bare svg { grid-row: auto; }
.aureum-pitch__point--bare .aureum-pitch__point-label {
	font-size: .875rem; letter-spacing: .04em; text-transform: none;
	color: var(--espresso);
}

/* --------------------------------------------- Buyer pass: Austin's review */

/*
 * The closing section used to offer five equal doors after the hero had
 * already offered four. One button now carries it, and these two rules are
 * what that button needs: a line of context above it and room around it.
 */
.aureum-cta__lead {
	max-width: 46ch;
	margin: calc(var(--s-2) * -1) auto var(--s-3);
	text-align: center;
	color: color-mix(in srgb, var(--limestone) 78%, transparent);
}
.aureum-cta__primary {
	margin: 0 0 var(--s-4);
	text-align: center;
}

/* Keeps "Paid services" from reading as a charge to be shown houses. */
.aureum-why__services-note {
	font-size: .8125rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--stone) 88%, transparent);
	margin: .5rem 0 0;
	max-width: 54ch;
}

/* ------------------------------------- Round 10 item 1: broker mark in the bar */

/*
 * Above 1180px the full identification block is visible inside the nav, so this
 * would be a duplicate. Below it, this is the only place the employing broker
 * is identified in the header — the block itself is in the off-canvas panel.
 *
 * The height is explicit on purpose. Grace reported the header logo measuring
 * 0 x 0 at about 800px, which is what a display:none element measures; a flex
 * child with no resolved height is the other way to land in the same place.
 */
.aureum-header__broker { display: none; }
.aureum-header__broker-logo {
	display: block;
	width: auto;
	height: 2.15rem;
	max-width: 9.5rem;
	object-fit: contain;
}
@media (max-width: 1180px) {
	.aureum-header__broker {
		display: block;
		margin-left: auto;
		margin-right: var(--s-2);
	}
}
@media (max-width: 420px) {
	/*
	 * The narrowest bar, where the Aureum lockup, this mark and the nav toggle
	 * all have to fit. Both marks come down together rather than only this one:
	 * shrinking the brokerage alone to make room is how the employing broker
	 * ends up the smallest thing in the header on the screen most people use.
	 */
	.aureum-logo__img { height: 2.1rem; }
	.aureum-header__broker-logo { height: 1.75rem; max-width: 7.25rem; }
}

/* ------------------------------------------- Round 10 item 9: legal pages */

/*
 * Long-form text that people read only when they need something specific out
 * of it, so: a narrow measure, clear section breaks, and headings that are
 * scannable rather than decorative.
 */
.aureum-legal { max-width: 46rem; }
.aureum-legal__updated {
	font-size: .75rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--stone);
	margin: 0 0 var(--s-2);
}
.aureum-legal__intro {
	font-size: 1.0625rem;
	line-height: 1.7;
	margin: 0 0 var(--s-3);
}
.aureum-legal .aureum-copy { margin-bottom: var(--s-3); }
.aureum-legal .aureum-copy__heading { font-size: 1.375rem; }
.aureum-legal .aureum-copy__list { margin-top: .75rem; }
.aureum-legal .aureum-copy__list li { margin-bottom: .5rem; }

/* ------------------------------- Round 10 item 5: Grace's direct line */

.aureum-footer__direct {
	margin: 0 0 .5rem;
	font-size: 1rem;
	letter-spacing: .02em;
}
.aureum-footer__direct a {
	color: var(--cream);
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, var(--gold) 60%, transparent);
	padding-bottom: 1px;
}
.aureum-footer__direct a:hover { color: var(--gold); }

.aureum-contact-direct {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .25rem .75rem;
	margin: 0 0 var(--s-3);
}
.aureum-contact-direct__label {
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--stone);
}
.aureum-contact-direct__number {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 4vw, 2rem);
	color: var(--espresso);
	text-decoration: none;
}
.aureum-contact-direct__number:hover { color: var(--bronze); }

.aureum-contact-form { margin-bottom: var(--s-5); }
