/* =========================================================
   Crowdlender Theme - main.css
   Institutional Light + Navy aesthetic
   ========================================================= */

/* -------- Design tokens -------- */
:root {
	--navy-900: #07172E;
	--navy-800: #0B1F3A;
	--navy-700: #102A4C;
	--navy-600: #1B3A66;
	--navy-500: #2C4F82;
	--ink-900:  #0F172A;
	--ink-700:  #334155;
	--ink-500:  #64748B;
	--ink-400:  #94A3B8;
	--ink-300:  #CBD5E1;
	--ink-200:  #E2E8F0;
	--ink-100:  #F1F5F9;
	--ink-50:   #F8FAFC;
	--white:    #FFFFFF;
	--gold-500: #C9A961;
	--gold-600: #B58E3F;
	--gold-100: #F8F1DD;
	--green-500:#15803D;
	--green-100:#DCFCE7;
	--red-500:  #B91C1C;
	--red-100:  #FEE2E2;
	--blue-100: #DBEAFE;

	--shadow-sm: 0 1px 2px rgba(7,23,46,.05), 0 1px 3px rgba(7,23,46,.06);
	--shadow-md: 0 4px 6px -1px rgba(7,23,46,.07), 0 2px 4px -2px rgba(7,23,46,.06);
	--shadow-lg: 0 16px 32px -12px rgba(11,31,58,.16), 0 8px 16px -8px rgba(11,31,58,.08);
	--shadow-xl: 0 32px 64px -24px rgba(11,31,58,.22);

	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 16px;
	--radius-xl: 24px;
	--radius-pill: 999px;

	--container: 1200px;
	--container-narrow: 760px;

	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--font-serif: 'Source Serif Pro', 'Iowan Old Style', Georgia, serif;
}

/* -------- Base -------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-900);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--navy-700); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--gold-600); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif); color: var(--navy-900); margin: 0 0 .5em; line-height: 1.18; font-weight: 700; letter-spacing: -.01em; }
h1 { font-size: clamp(2.25rem, 4.2vw, 3.75rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.05rem; font-family: var(--font-sans); font-weight: 600; }
p { margin: 0 0 1em; }
hr { border: 0; border-top: 1px solid var(--ink-200); margin: 2rem 0; }
small { font-size: .8125rem; }

button { font: inherit; cursor: pointer; }
input, select, textarea {
	font: inherit;
	color: inherit;
	width: 100%;
	padding: .75rem .9rem;
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-md);
	background: var(--white);
	transition: border-color .15s ease, box-shadow .15s ease;
}
input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--navy-600);
	box-shadow: 0 0 0 4px rgba(28, 74, 130, .15);
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}
.skip-link {
	position: absolute; left: -9999px; top: 1rem;
	background: var(--navy-800); color: var(--white);
	padding: .5rem 1rem; border-radius: var(--radius-sm); z-index: 9999;
}
.skip-link:focus { left: 1rem; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 1.5rem; }
.container--narrow { max-width: var(--container-narrow); }
.text-center { text-align: center; }

/* -------- Buttons -------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .75rem 1.25rem;
	border-radius: var(--radius-md);
	font-weight: 600;
	font-size: .95rem;
	letter-spacing: -.005em;
	line-height: 1;
	border: 1px solid transparent;
	transition: all .15s ease;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}
.btn--lg { padding: .95rem 1.6rem; font-size: 1rem; }
.btn--block { display: flex; width: 100%; }
.btn--primary {
	background: var(--navy-800);
	color: var(--white);
	border-color: var(--navy-800);
}
.btn--primary:hover { background: var(--navy-900); border-color: var(--navy-900); color: var(--white); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn--ghost {
	background: transparent;
	color: var(--navy-800);
	border-color: var(--ink-200);
}
.btn--ghost:hover { background: var(--ink-50); color: var(--navy-900); border-color: var(--ink-300); }
.btn--ghost-light {
	background: transparent;
	color: var(--white);
	border-color: rgba(255,255,255,.4);
}
.btn--ghost-light:hover { background: rgba(255,255,255,.08); color: var(--white); border-color: var(--white); }
.btn__icon { display: inline-flex; width: 1rem; height: 1rem; }
.btn__icon svg { width: 1rem; height: 1rem; }

.link-arrow {
	display: inline-flex; align-items: center; gap: .3rem;
	font-weight: 600; color: var(--navy-700);
}
.link-arrow:hover { color: var(--gold-600); }
.link-arrow--lg { font-size: 1rem; }

/* -------- Eyebrow + badges -------- */
.eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase;
	color: var(--navy-700); font-weight: 600;
	margin: 0 0 1rem;
}
.eyebrow__dot {
	display: inline-block; width: 6px; height: 6px; border-radius: 50%;
	background: var(--gold-500);
}
.badge {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .3rem .65rem;
	border-radius: var(--radius-pill);
	font-size: .75rem; font-weight: 600;
	background: var(--ink-100); color: var(--ink-700);
	letter-spacing: .02em;
}
.badge--gold { background: var(--gold-100); color: var(--gold-600); }
.badge--open, .badge--Open { background: var(--green-100); color: var(--green-500); }
.badge--funded, .badge--Funded { background: var(--blue-100); color: var(--navy-700); }
.badge--closed, .badge--Closed { background: var(--ink-200); color: var(--ink-700); }
.badge--outline { background: transparent; border: 1px solid var(--ink-200); color: var(--ink-700); }
.badge--outline svg { width: 14px; height: 14px; }

.token-pill {
	display: inline-flex; align-items: center;
	padding: .3rem .6rem;
	background: var(--navy-900); color: var(--gold-500);
	font-family: 'SF Mono', Menlo, Consolas, monospace;
	font-size: .75rem; font-weight: 600;
	border-radius: var(--radius-sm); letter-spacing: .05em;
}
.token-pill--sm { font-size: .7rem; padding: .2rem .45rem; }

/* -------- Announcement bar -------- */
.announcement-bar {
	background: var(--navy-900);
	color: var(--ink-200);
	font-size: .85rem;
	padding: .65rem 0;
}
.announcement-bar p { margin: 0; display: flex; align-items: center; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.announcement-bar a { color: var(--gold-500); font-weight: 600; }
.announcement-bar a:hover { color: var(--white); }
.announcement-bar .dot {
	width: 8px; height: 8px; border-radius: 50%; background: var(--gold-500);
	animation: pulse 2.4s infinite;
}
@keyframes pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .55; transform: scale(.85); }
}

/* -------- Site header -------- */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.92);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid var(--ink-200);
}
.site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	height: 76px; gap: 2rem;
}
.site-logo { display: inline-flex; align-items: center; gap: .65rem; color: var(--navy-900); }
.site-logo:hover { color: var(--navy-900); }
.site-logo__mark { display: inline-flex; width: 36px; height: 36px; }
.site-logo__mark svg { width: 36px; height: 36px; }
.site-logo__text { display: flex; flex-direction: column; line-height: 1; }
.site-logo__name { font-family: var(--font-serif); font-weight: 700; font-size: 1.15rem; letter-spacing: -.01em; }
.site-logo__tagline { font-size: .7rem; color: var(--ink-500); letter-spacing: .14em; text-transform: uppercase; margin-top: 3px; }
.site-logo--footer .site-logo__name { color: var(--white); }

.site-nav { flex: 1; }
.site-nav .menu {
	list-style: none; margin: 0; padding: 0;
	display: flex; gap: 2rem; align-items: center; justify-content: center;
}
.site-nav .menu a {
	color: var(--ink-700); font-weight: 500; font-size: .95rem;
	position: relative; padding: .25rem 0;
}
.site-nav .menu a:hover { color: var(--navy-900); }
.site-nav .menu .current-menu-item > a,
.site-nav .menu .current_page_item > a {
	color: var(--navy-900); font-weight: 600;
}
.site-nav .menu .current-menu-item > a::after,
.site-nav .menu .current_page_item > a::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px;
	background: var(--gold-500);
}
.site-header__actions { display: flex; align-items: center; gap: .75rem; }
.nav-toggle {
	display: none;
	background: transparent; border: 1px solid var(--ink-200);
	color: var(--ink-700); padding: .5rem; border-radius: var(--radius-md);
}
.nav-toggle svg { width: 22px; height: 22px; }
.nav-toggle svg:last-child { display: none; }

/* -------- Hero -------- */
.hero {
	background: linear-gradient(180deg, #FBFCFE 0%, #F1F5F9 100%);
	padding: 5rem 0 3rem;
	border-bottom: 1px solid var(--ink-200);
	position: relative;
	overflow: hidden;
}
.hero::before {
	content: ''; position: absolute; pointer-events: none;
	width: 600px; height: 600px; border-radius: 50%;
	background: radial-gradient(circle, rgba(201,169,97,.15) 0%, transparent 70%);
	right: -200px; top: -200px;
}
.hero__inner {
	display: grid; grid-template-columns: 1.15fr .85fr; gap: 4rem; align-items: center;
	position: relative;
}
.hero__copy h1 { margin-bottom: 1.25rem; }
.hero .lede { font-size: 1.2rem; color: var(--ink-700); margin-bottom: 2rem; max-width: 36em; }
.hero__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.hero__actions--center { justify-content: center; }
.hero__bullets {
	list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem;
}
.hero__bullets li { display: inline-flex; align-items: center; gap: .55rem; color: var(--ink-700); font-size: .95rem; }
.hero__bullets svg { width: 18px; height: 18px; color: var(--green-500); flex-shrink: 0; }

.hero__panel {
	background: var(--white);
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
	box-shadow: var(--shadow-lg);
}
.hero__panel-head { display: flex; justify-content: space-between; margin-bottom: 1rem; }
.hero__panel h3 { margin-bottom: .25rem; font-size: 1.5rem; }
.hero__panel-sub { color: var(--ink-500); margin: 0 0 1.25rem; font-size: .9rem; }
.hero__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 0 0 1.25rem; }
.hero__stats > div { padding: .75rem; background: var(--ink-50); border-radius: var(--radius-md); }
.hero__stats dt { font-size: .7rem; color: var(--ink-500); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.hero__stats dd { margin: 0; font-family: var(--font-serif); font-size: 1.25rem; font-weight: 700; color: var(--navy-900); }
.hero__panel-token { display: flex; gap: .5rem; align-items: center; margin-top: 1rem; }
.token-chain { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink-500); font-size: .8rem; }
.token-chain svg { width: 14px; height: 14px; }

.hero__logos { margin-top: 4rem; }
.hero__logos p {
	text-align: center; color: var(--ink-500); font-size: .8rem;
	text-transform: uppercase; letter-spacing: .15em; margin-bottom: 1rem;
}
.logo-strip {
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
	gap: 2.5rem; opacity: .6;
}
.logo-strip span {
	font-family: var(--font-serif); font-size: 1.1rem; color: var(--ink-700);
	font-weight: 600; letter-spacing: -.005em;
}

/* -------- Progress bar -------- */
.progress {
	height: 6px; background: var(--ink-100); border-radius: var(--radius-pill);
	overflow: hidden; margin: .5rem 0;
}
.progress__bar {
	height: 100%; background: linear-gradient(90deg, var(--gold-500), var(--gold-600));
	border-radius: var(--radius-pill); transition: width .4s ease;
}
.progress__label {
	display: flex; justify-content: space-between; align-items: center;
	font-size: .85rem; color: var(--ink-700); margin: 0;
}
.progress__label--block { flex-direction: column; align-items: flex-start; gap: .25rem; }
.progress__label--block strong { color: var(--navy-900); font-family: var(--font-serif); font-size: 1.15rem; }

/* -------- Stats band -------- */
.stats-band {
	background: var(--navy-900);
	color: var(--white);
	padding: 3rem 0;
}
.stats-band__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem;
}
.stats-band__grid > div { text-align: center; }
.stats-band .stat__value {
	font-family: var(--font-serif);
	font-size: clamp(2rem, 3vw, 2.6rem);
	font-weight: 700;
	color: var(--gold-500);
	margin: 0 0 .25rem;
	line-height: 1;
}
.stats-band .stat__label { color: var(--ink-300); font-size: .9rem; margin: 0; }

/* -------- Sections -------- */
.section { padding: 5rem 0; }
.section--alt { background: var(--ink-50); }
.section__header { max-width: 720px; margin-bottom: 3rem; }
.section__header--row {
	display: flex; align-items: flex-end; justify-content: space-between;
	max-width: 100%; gap: 2rem; margin-bottom: 2.5rem;
}
.section__header--row h2 { margin-bottom: 0; }
.section__header--left { max-width: 480px; }
.section__lede { font-size: 1.1rem; color: var(--ink-700); }

/* -------- Feature grid -------- */
.feature-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
.feature-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.feature {
	background: var(--white);
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg);
	padding: 2rem;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.feature:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--ink-300); }
.feature__icon {
	width: 48px; height: 48px;
	border-radius: var(--radius-md);
	background: var(--navy-900);
	color: var(--gold-500);
	display: inline-flex; align-items: center; justify-content: center;
	margin-bottom: 1.25rem;
}
.feature__icon svg { width: 24px; height: 24px; }
.feature h3 { margin-bottom: .5rem; }
.feature p { margin: 0; color: var(--ink-700); font-size: .95rem; }

/* -------- Property cards -------- */
.property-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
.property-grid--archive { grid-template-columns: repeat(3, 1fr); }
.property-card {
	background: var(--white);
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.property-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--ink-300); }
.property-card__media {
	position: relative; aspect-ratio: 16/10;
	background: var(--ink-100);
	display: block; overflow: hidden;
}
.property-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.property-card:hover .property-card__media img { transform: scale(1.04); }
.property-card__placeholder {
	width: 100%; height: 100%;
	background:
		linear-gradient(135deg, rgba(11,31,58,.95) 0%, rgba(28,79,130,.85) 100%),
		repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 2px, transparent 2px 14px);
	position: relative;
}
.property-card__placeholder::after {
	content: ''; position: absolute; inset: 35% 35% auto auto; width: 60px; height: 60px;
	background: rgba(201,169,97,.4); border-radius: 50%;
	filter: blur(20px);
}
.property-card__status {
	position: absolute; top: 12px; left: 12px;
	padding: .25rem .6rem; border-radius: var(--radius-pill);
	font-size: .7rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .06em;
	background: var(--white); color: var(--navy-900);
	box-shadow: var(--shadow-sm);
}
.property-card__status--open { background: var(--green-100); color: var(--green-500); }
.property-card__status--funded { background: var(--blue-100); color: var(--navy-700); }
.property-card__status--closed { background: var(--ink-200); color: var(--ink-700); }
.property-card__body { padding: 1.25rem 1.25rem 1.4rem; flex: 1; display: flex; flex-direction: column; gap: .65rem; }
.property-card__location { color: var(--ink-500); font-size: .8rem; margin: 0; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.property-card__title { margin: 0; font-size: 1.15rem; font-family: var(--font-serif); }
.property-card__title a { color: var(--navy-900); }
.property-card__title a:hover { color: var(--gold-600); }
.property-card__metrics {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem;
	margin: .5rem 0 .25rem; padding-top: .75rem; border-top: 1px solid var(--ink-100);
}
.property-card__metrics dt {
	font-size: .65rem; color: var(--ink-500); text-transform: uppercase;
	letter-spacing: .08em; margin: 0 0 2px;
}
.property-card__metrics dd {
	font-family: var(--font-serif); font-weight: 700;
	color: var(--navy-900); margin: 0; font-size: .95rem;
}

/* -------- How it works steps -------- */
.how-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 4rem; align-items: start; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; counter-reset: step; }
.steps li {
	background: var(--white); border: 1px solid var(--ink-200);
	padding: 1.5rem; border-radius: var(--radius-lg);
	position: relative;
}
.steps__num {
	display: inline-block; font-family: var(--font-serif); font-size: 1.5rem;
	color: var(--gold-500); font-weight: 700; margin-bottom: .25rem;
}
.steps li h3 { margin-bottom: .5rem; }
.steps li p { color: var(--ink-700); font-size: .95rem; margin: 0; }

/* -------- Testimonials -------- */
.testimonial-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
.testimonial {
	background: var(--white);
	border-radius: var(--radius-lg);
	padding: 2rem;
	border: 1px solid var(--ink-200);
	margin: 0;
	position: relative;
}
.testimonial::before {
	content: '"';
	position: absolute; top: 8px; left: 16px;
	font-family: var(--font-serif); font-size: 5rem; line-height: 1;
	color: var(--gold-500); opacity: .5;
}
.testimonial blockquote { margin: 0 0 1.25rem; }
.testimonial blockquote p { font-family: var(--font-serif); color: var(--navy-900); font-size: 1.05rem; font-style: italic; margin: 0; }
.testimonial figcaption { display: flex; flex-direction: column; }
.testimonial figcaption strong { color: var(--navy-900); }
.testimonial figcaption span { color: var(--ink-500); font-size: .85rem; }

/* -------- Insights -------- */
.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.insight {
	background: var(--white);
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.insight__media { display: block; aspect-ratio: 16/9; background: var(--ink-100); overflow: hidden; }
.insight__media img { width: 100%; height: 100%; object-fit: cover; }
.insight__body { padding: 1.25rem 1.5rem 1.5rem; }
.insight__meta { color: var(--ink-500); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; margin: 0 0 .5rem; }
.insight h3 { font-size: 1.15rem; margin-bottom: .5rem; }
.insight p { color: var(--ink-700); font-size: .95rem; margin: 0; }

/* -------- CTA band -------- */
.cta-band {
	background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 100%);
	color: var(--white);
	padding: 4rem 0;
	position: relative;
	overflow: hidden;
}
.cta-band::after {
	content: ''; position: absolute; right: -100px; bottom: -100px;
	width: 320px; height: 320px; border-radius: 50%;
	background: radial-gradient(circle, rgba(201,169,97,.25) 0%, transparent 70%);
	pointer-events: none;
}
.cta-band__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 3rem;
	flex-wrap: wrap; position: relative;
}
.cta-band h2 { color: var(--white); margin-bottom: .5rem; max-width: 20ch; }
.cta-band p { color: var(--ink-300); margin: 0; max-width: 40ch; }
.cta-band__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.cta-band .btn--primary { background: var(--gold-500); border-color: var(--gold-500); color: var(--navy-900); }
.cta-band .btn--primary:hover { background: var(--gold-600); border-color: var(--gold-600); color: var(--white); }

/* -------- Footer -------- */
.site-footer {
	background: var(--navy-900);
	color: var(--ink-300);
	padding: 4.5rem 0 2rem;
}
.site-footer__grid {
	display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 3rem;
	padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-footer__about { color: var(--ink-300); font-size: .9rem; margin: 1rem 0; max-width: 36ch; }
.site-footer__address { font-style: normal; font-size: .85rem; color: var(--ink-300); line-height: 1.7; }
.site-footer__address a { color: var(--gold-500); }
.site-footer__col h4 { color: var(--white); margin-bottom: 1rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; }
.site-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.site-footer__col a { color: var(--ink-300); font-size: .9rem; }
.site-footer__col a:hover { color: var(--white); }
.newsletter-form { display: flex; gap: .5rem; margin-top: .75rem; }
.newsletter-form input {
	background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); color: var(--white);
	padding: .65rem .9rem;
}
.newsletter-form input::placeholder { color: var(--ink-400); }
.newsletter-form .btn { padding: .65rem 1rem; background: var(--gold-500); color: var(--navy-900); border-color: var(--gold-500); }
.newsletter-form .btn:hover { background: var(--gold-600); color: var(--white); border-color: var(--gold-600); }

.site-footer__disclosure {
	padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,.08);
	font-size: .78rem; color: var(--ink-400); line-height: 1.7;
}
.site-footer__bottom {
	padding-top: 2rem;
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
	font-size: .85rem;
}
.site-footer__bottom .legal-menu { list-style: none; display: flex; gap: 1.5rem; padding: 0; margin: 0; }
.site-footer__bottom .legal-menu a { color: var(--ink-300); }
.site-footer__bottom .legal-menu a:hover { color: var(--white); }

/* -------- Page hero (inner pages) -------- */
.page-hero {
	background: linear-gradient(180deg, var(--ink-50) 0%, var(--white) 100%);
	padding: 4.5rem 0 3.5rem;
	border-bottom: 1px solid var(--ink-200);
}
.page-hero--compact { padding: 3.5rem 0 2.5rem; }
.page-hero--center { text-align: center; }
.page-hero h1 { margin-bottom: 1rem; max-width: 22ch; }
.page-hero--center h1 { margin-left: auto; margin-right: auto; }
.page-hero__sub { font-size: 1.15rem; color: var(--ink-700); max-width: 60ch; margin: 0; }
.page-hero--center .page-hero__sub { margin-left: auto; margin-right: auto; }

/* -------- Filter bar -------- */
.filter-bar {
	display: flex; gap: 1rem; align-items: end; flex-wrap: wrap;
	background: var(--white); border: 1px solid var(--ink-200);
	padding: 1.25rem; border-radius: var(--radius-lg);
	margin-bottom: 2.5rem; box-shadow: var(--shadow-sm);
}
.filter-bar__group { flex: 1; min-width: 160px; }
.filter-bar__group label { display: block; font-size: .8rem; color: var(--ink-500); margin-bottom: .35rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }

/* -------- Property single -------- */
.property-hero {
	background: linear-gradient(180deg, var(--ink-50) 0%, var(--white) 100%);
	padding: 4rem 0 3rem;
	border-bottom: 1px solid var(--ink-200);
}
.property-hero__inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 3rem; align-items: start; }
.property-hero__badges { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.25rem; }
.property-hero__panel {
	background: var(--white);
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
	box-shadow: var(--shadow-lg);
}
.property-hero__stats { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 0 0 1.25rem; }
.property-hero__stats > div { padding: .85rem; background: var(--ink-50); border-radius: var(--radius-md); }
.property-hero__stats dt { font-size: .7rem; color: var(--ink-500); text-transform: uppercase; letter-spacing: .08em; }
.property-hero__stats dd { margin: 4px 0 0; font-family: var(--font-serif); font-size: 1.4rem; font-weight: 700; color: var(--navy-900); }
.property-hero__fineprint { font-size: .75rem; color: var(--ink-500); text-align: center; margin: .5rem 0 0; }

.property-feature { padding: 2rem 0 0; }
.property-feature__img { width: 100%; height: clamp(280px, 40vw, 480px); object-fit: cover; border-radius: var(--radius-lg); }

.property-body { display: grid; grid-template-columns: 1.6fr 1fr; gap: 3rem; align-items: start; }
.property-body__main h2 { margin-top: 2.5rem; }
.property-body__main h2:first-child { margin-top: 0; }
.check-list { list-style: none; padding: 0; display: grid; gap: .75rem; }
.check-list li { display: flex; align-items: flex-start; gap: .75rem; }
.check-list svg { color: var(--green-500); margin-top: 3px; flex-shrink: 0; width: 20px; height: 20px; }
.doc-list { list-style: none; padding: 0; display: grid; gap: .5rem; }
.doc-list li {
	display: flex; align-items: center; gap: .75rem;
	padding: .9rem 1rem; background: var(--ink-50); border-radius: var(--radius-md);
	border: 1px solid var(--ink-200);
}
.doc-list svg { color: var(--navy-700); flex-shrink: 0; width: 20px; height: 20px; }
.doc-list li span { flex: 1; font-weight: 500; color: var(--navy-900); }
.doc-list a { font-weight: 600; color: var(--gold-600); }
.key-value { width: 100%; border-collapse: collapse; }
.key-value th, .key-value td { text-align: left; padding: .85rem 0; border-bottom: 1px solid var(--ink-200); font-size: .95rem; }
.key-value th { color: var(--ink-500); font-weight: 500; width: 38%; }
.key-value td { font-weight: 600; color: var(--navy-900); }

.side-card {
	background: var(--white);
	border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	margin-bottom: 1.25rem;
}
.side-card h3 { font-size: 1.05rem; margin-bottom: 1rem; font-family: var(--font-sans); }
.schedule { list-style: none; padding: 0; margin: 0; }
.schedule li {
	display: flex; justify-content: space-between; padding: .65rem 0;
	border-bottom: 1px solid var(--ink-100);
}
.schedule li:last-child { border-bottom: 0; }
.schedule li span:first-child { color: var(--ink-500); font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
.schedule li span:last-child { font-weight: 600; color: var(--navy-900); }

/* -------- How-it-works detail -------- */
.how-detail { display: grid; grid-template-columns: 220px 1fr; gap: 3rem; align-items: start; }
.how-detail__nav { position: sticky; top: 100px; }
.how-detail__nav ol { list-style: none; padding: 0; margin: 0; counter-reset: hdnav; }
.how-detail__nav li { counter-increment: hdnav; }
.how-detail__nav a {
	display: block; padding: .5rem 0; color: var(--ink-500);
	font-size: .9rem; font-weight: 500;
	border-left: 2px solid var(--ink-200); padding-left: 1rem;
}
.how-detail__nav a:hover, .how-detail__nav a:focus { color: var(--navy-900); border-color: var(--gold-500); }
.how-detail__body section { padding: 1rem 0 2.5rem; border-bottom: 1px solid var(--ink-100); }
.how-detail__body section:last-child { border-bottom: 0; }

/* -------- About / team -------- */
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.team-card {
	background: var(--white); border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg); padding: 1.75rem;
	text-align: center;
}
.team-card__avatar {
	width: 80px; height: 80px; margin: 0 auto 1rem;
	border-radius: 50%; background: linear-gradient(135deg, var(--navy-800), var(--navy-600));
	color: var(--gold-500); display: flex; align-items: center; justify-content: center;
	font-family: var(--font-serif); font-size: 1.4rem; font-weight: 700;
}
.team-card h3 { margin-bottom: .25rem; font-size: 1.15rem; }
.team-card__role { color: var(--gold-600); font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .75rem; }
.team-card p:last-child { color: var(--ink-700); font-size: .9rem; margin: 0; }

/* -------- FAQ -------- */
.faq-list {
	background: var(--white); border: 1px solid var(--ink-200);
	border-radius: var(--radius-lg); overflow: hidden;
}
.faq-item { border-bottom: 1px solid var(--ink-200); }
.faq-item:last-child { border-bottom: 0; }
.faq-item summary {
	list-style: none; cursor: pointer;
	padding: 1.25rem 1.5rem;
	display: flex; align-items: center; justify-content: space-between;
	font-weight: 600; color: var(--navy-900); font-size: 1.05rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item__toggle { font-size: 1.5rem; color: var(--gold-500); transition: transform .2s ease; line-height: 1; }
.faq-item[open] .faq-item__toggle { transform: rotate(45deg); }
.faq-item__body { padding: 0 1.5rem 1.5rem; color: var(--ink-700); }
.faq-item__body p:last-child { margin: 0; }
.faq-cta {
	text-align: center; margin-top: 2rem; padding: 2rem;
	background: var(--ink-50); border-radius: var(--radius-lg); border: 1px solid var(--ink-200);
}
.faq-cta h3 { margin-bottom: .25rem; }
.faq-cta p { color: var(--ink-700); margin-bottom: 1rem; }

/* -------- Contact -------- */
.contact-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: start; }
.contact-form { background: var(--white); border: 1px solid var(--ink-200); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-sm); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-field { margin-bottom: 1rem; }
.form-field label { display: block; font-weight: 600; color: var(--navy-900); font-size: .9rem; margin-bottom: .35rem; }
.form-fineprint { font-size: .8rem; color: var(--ink-500); margin: 1rem 0 0; }
.contact-form__success {
	display: flex; align-items: center; gap: .5rem;
	margin-top: 1rem; padding: .75rem 1rem;
	background: var(--green-100); color: var(--green-500);
	border-radius: var(--radius-md); font-weight: 600;
}
.contact-form__success svg { width: 20px; height: 20px; }
.contact-side .side-card p { font-size: .95rem; margin: 0 0 .25rem; color: var(--ink-700); }
.contact-side .side-card address { font-style: normal; font-size: .95rem; color: var(--ink-700); }

/* -------- Transactions -------- */
.tx-stats {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-bottom: 2.5rem;
}
.tx-stat {
	background: var(--white); border: 1px solid var(--ink-200);
	padding: 1.5rem; border-radius: var(--radius-lg);
	text-align: left;
}
.tx-stat .stat__value { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 700; color: var(--navy-900); margin: 0 0 .25rem; }
.tx-stat .stat__label { color: var(--ink-500); font-size: .85rem; margin: 0; }
.tx-table-wrap { background: var(--white); border: 1px solid var(--ink-200); border-radius: var(--radius-lg); overflow: hidden; }
.tx-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tx-table thead th {
	background: var(--ink-50); color: var(--ink-500);
	text-align: left; padding: .85rem 1rem;
	font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 600;
	border-bottom: 1px solid var(--ink-200);
}
.tx-table tbody td { padding: .9rem 1rem; border-bottom: 1px solid var(--ink-100); vertical-align: middle; }
.tx-table tbody tr:last-child td { border-bottom: 0; }
.tx-table tbody tr:hover { background: var(--ink-50); }
.tx-table .num { font-weight: 600; color: var(--navy-900); white-space: nowrap; }
.tx-table code { font-family: 'SF Mono', Menlo, monospace; font-size: .82rem; color: var(--ink-700); }
.tx-pill {
	display: inline-block; padding: .2rem .55rem;
	border-radius: var(--radius-pill); font-size: .72rem; font-weight: 600;
	background: var(--ink-100); color: var(--ink-700); letter-spacing: .02em;
}
.tx-pill--distribution { background: var(--green-100); color: var(--green-500); }
.tx-pill--subscription { background: var(--blue-100); color: var(--navy-700); }
.tx-pill--token-mint { background: var(--gold-100); color: var(--gold-600); }
.tx-pill--token-burn { background: var(--red-100); color: var(--red-500); }
.tx-pill--secondary-trade { background: #ede9fe; color: #6d28d9; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .4rem; vertical-align: middle; }
.status-dot--ok { background: var(--green-500); box-shadow: 0 0 0 3px rgba(21,128,61,.18); }
.tx-note { color: var(--ink-500); font-size: .85rem; margin-top: 1rem; text-align: center; }

/* -------- Prose -------- */
.prose { color: var(--ink-700); font-size: 1.05rem; line-height: 1.75; }
.prose h2 { margin-top: 2.5rem; margin-bottom: 1rem; color: var(--navy-900); }
.prose h3 { margin-top: 1.75rem; margin-bottom: .5rem; color: var(--navy-900); }
.prose ul, .prose ol { padding-left: 1.25rem; margin: 0 0 1.25rem; }
.prose li { margin-bottom: .35rem; }
.prose a { color: var(--gold-600); text-decoration: underline; text-underline-offset: 3px; }
.prose blockquote {
	border-left: 3px solid var(--gold-500);
	padding: 0 0 0 1.25rem; margin: 1.5rem 0;
	font-style: italic; color: var(--navy-900);
}

/* Blog list */
.post-list { display: grid; gap: 2.5rem; }
.post-list__item { display: grid; grid-template-columns: 1fr 1.6fr; gap: 1.5rem; }
.post-list__media { aspect-ratio: 16/10; background: var(--ink-100); border-radius: var(--radius-md); overflow: hidden; }
.post-list__media img { width: 100%; height: 100%; object-fit: cover; }
.post-list__meta { color: var(--ink-500); font-size: .85rem; margin-bottom: .25rem; }
.post-list__title { margin-bottom: .5rem; font-size: 1.4rem; }
.post-list__title a { color: var(--navy-900); }
.post-list__title a:hover { color: var(--gold-600); }
.single-feature { margin: 0 0 2rem; border-radius: var(--radius-lg); overflow: hidden; }
.pagination { margin-top: 3rem; text-align: center; }
.pagination .page-numbers { display: inline-block; padding: .5rem .85rem; margin: 0 .15rem; border: 1px solid var(--ink-200); border-radius: var(--radius-md); color: var(--ink-700); text-decoration: none; font-weight: 600; }
.pagination .page-numbers.current { background: var(--navy-900); color: var(--white); border-color: var(--navy-900); }
.pagination .page-numbers:hover:not(.current) { background: var(--ink-50); }

.empty-state { padding: 3rem 1rem; text-align: center; background: var(--ink-50); border-radius: var(--radius-lg); }
.empty-state h3 { margin-bottom: .5rem; }

/* -------- Responsive -------- */
@media (max-width: 1024px) {
	.hero__inner { grid-template-columns: 1fr; gap: 3rem; }
	.hero__panel { max-width: 480px; }
	.feature-grid, .property-grid, .property-grid--archive, .testimonial-grid, .insight-grid, .team-grid { grid-template-columns: repeat(2, 1fr); }
	.stats-band__grid { grid-template-columns: repeat(2, 1fr); }
	.how-grid { grid-template-columns: 1fr; gap: 2rem; }
	.steps { grid-template-columns: 1fr 1fr; }
	.property-hero__inner, .property-body, .contact-grid, .how-detail { grid-template-columns: 1fr; gap: 2rem; }
	.how-detail__nav { position: static; }
	.how-detail__nav ol { display: flex; gap: .5rem; overflow-x: auto; }
	.how-detail__nav a { white-space: nowrap; border-left: 0; border-bottom: 2px solid var(--ink-200); padding: .5rem 1rem; }
	.tx-stats { grid-template-columns: repeat(2, 1fr); }
	.tx-table-wrap { overflow-x: auto; }
}
@media (max-width: 768px) {
	h1 { font-size: 2.1rem; }
	h2 { font-size: 1.55rem; }
	.section { padding: 3.5rem 0; }
	.hero { padding: 3rem 0 2rem; }
	.site-header__inner { height: 64px; }
	.site-header__actions .btn--ghost, .site-header__actions .btn--primary { display: none; }
	.nav-toggle { display: inline-flex; }
	.site-nav {
		position: fixed; top: 64px; left: 0; right: 0; bottom: 0;
		background: var(--white); border-top: 1px solid var(--ink-200);
		padding: 1.5rem; transform: translateX(100%); transition: transform .25s ease;
		overflow-y: auto;
	}
	.site-nav.is-open { transform: translateX(0); }
	.site-nav .menu { flex-direction: column; align-items: flex-start; gap: 1rem; }
	.site-nav .menu a { font-size: 1.15rem; }
	body.nav-open .nav-toggle svg:first-child { display: none; }
	body.nav-open .nav-toggle svg:last-child { display: block; }
	.feature-grid, .property-grid, .property-grid--archive, .testimonial-grid, .insight-grid, .team-grid, .stats-band__grid, .tx-stats {
		grid-template-columns: 1fr;
	}
	.steps { grid-template-columns: 1fr; }
	.hero__stats { grid-template-columns: 1fr 1fr; }
	.cta-band__inner { flex-direction: column; align-items: flex-start; }
	.section__header--row { flex-direction: column; align-items: flex-start; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.site-footer__bottom { flex-direction: column; align-items: flex-start; }
	.post-list__item { grid-template-columns: 1fr; }
	.property-hero__stats { grid-template-columns: 1fr 1fr; }
	.form-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
	html { scroll-behavior: auto; }
}
