/*
Theme Name: Stonehouse Foundation Theme
Theme URI: https://stonehouseownersfoundation.org/
Description: A lightweight child theme for the Stonehouse Owners Foundation community hub in Toano, Virginia.
Author: Stonehouse Owners Foundation
Template: twentytwentyfive
Version: 0.3.0
Requires at least: 6.7
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stonehouse-foundation-theme
Tags: full-site-editing, block-patterns, custom-colors, community, accessibility-ready
*/

/* ===================================================
   DESIGN TOKENS
   =================================================== */

:root {
	/* Brand palette */
	--stonehouse-forest:     #48694c;
	--stonehouse-forest-dk:  #2e4a31;
	--stonehouse-sage:       #7f9272;
	--stonehouse-limestone:  #9b9a91;
	--stonehouse-stone:      #5f625e;
	--stonehouse-off-white:  #fbfaf5;
	--stonehouse-paper:      #ffffff;
	--stonehouse-slate:      #202a2f;
	--stonehouse-muted:      #66716d;
	--stonehouse-border:     #e2e8f0;
	--stonehouse-canvas:     #f4f6f3;
	--stonehouse-cream:      #f1efe6;
	--stonehouse-mist:       #e8eee7;
	--stonehouse-pool:       #4a8996;

	/* Committee accent colours */
	--accent-governance:     #202a2f;
	--accent-safety:         #b03030;
	--accent-social:         #48694c;
	--accent-landscape:      #4e8044;
	--accent-pool:           #2e72b0;
	--accent-resources:      #8a8880;

	/* Typography */
	--stonehouse-display:    "Playfair Display", Georgia, "Times New Roman", Times, serif;
	--stonehouse-sans:       Inter, "Helvetica Neue", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	/* Elevation system */
	--shadow-sm:   0 1px 4px rgba(0, 0, 0, 0.05);
	--shadow-md:   0 5px 18px rgba(0, 0, 0, 0.08);
	--shadow-lg:   0 12px 30px rgba(0, 0, 0, 0.11);
	--shadow-card: 0 2px 14px rgba(0, 0, 0, 0.055);

	/* Motion */
	--ease-lift: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}


/* ===================================================
   BASE
   =================================================== */

body {
	background: var(--stonehouse-off-white);
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	font-size: 17px;
	line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.wp-block-site-title {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-display);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
}

a {
	color: var(--stonehouse-forest);
	text-decoration-color: color-mix(in srgb, var(--stonehouse-sage) 60%, transparent);
	text-underline-offset: 0.18em;
}

a:hover, a:focus {
	color: var(--stonehouse-stone);
}

.wp-site-blocks {
	background:
		linear-gradient(180deg, rgba(72, 105, 76, 0.07), rgba(251, 250, 245, 0) 18rem),
		var(--stonehouse-off-white);
}

.stonehouse-demo-affiliation-banner {
	background: #fff3a6;
	border-bottom: 1px solid #e2c84a;
	color: #332b00;
	font-family: var(--stonehouse-sans);
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1.35;
	padding: 0.35rem clamp(1rem, 4vw, 4rem);
	text-align: center;
}

.stonehouse-demo-affiliation-banner strong {
	font-weight: 800;
	letter-spacing: 0.04em;
}


/* ===================================================
   HEADER & NAVIGATION
   =================================================== */

header.wp-block-template-part {
	background: #ffffff;
	border-bottom: 1px solid rgba(226, 232, 240, 0.95);
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.035);
	position: relative;
	z-index: 10000;
}

header.wp-block-template-part > .wp-block-group {
	background: #ffffff;
}

header.wp-block-template-part .alignwide {
	padding-left:  clamp(1.25rem, 4vw, 4rem);
	padding-right: clamp(1.25rem, 4vw, 4rem);
}

.wp-block-navigation,
.wp-block-navigation__responsive-container,
.wp-block-navigation .wp-block-navigation__submenu-container {
	position: relative;
	z-index: 9999;
}

.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition:
		color 180ms ease,
		background-color 180ms ease;
}

.wp-block-navigation a:hover,
.wp-block-navigation a:focus,
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus {
	color: var(--stonehouse-forest);
}

.wp-block-navigation .wp-block-navigation__submenu-container {
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid var(--stonehouse-border);
	border-radius: 10px;
	box-shadow: 0 18px 44px rgba(32, 42, 47, 0.16);
	padding: 0.4rem;
}


/* ===================================================
   GLOBAL BUTTON SYSTEM
   =================================================== */

.wp-block-button__link,
.wp-element-button {
	background: var(--stonehouse-forest);
	border-radius: 5px;
	color: var(--stonehouse-paper);
	font-family: var(--stonehouse-sans);
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding: 0.8em 1.65em;
	transition:
		background-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	background: var(--stonehouse-forest-dk);
	box-shadow: 0 4px 14px rgba(46, 74, 49, 0.35);
	color: var(--stonehouse-paper);
}


/* ===================================================
   UTILITY / SHARED COMPONENTS
   =================================================== */

/* Kicker label — used across all sections */
.stonehouse-kicker {
	color: var(--stonehouse-forest);
	font-family: var(--stonehouse-sans);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

/* Legacy utility classes retained for patterns */
.stonehouse-section {
	border-top: 1px solid var(--stonehouse-border);
	padding-block: clamp(2rem, 5vw, 4.5rem);
}

.stonehouse-home-branches {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.stonehouse-branch-card {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	padding: clamp(1rem, 2.4vw, 1.35rem);
}

.stonehouse-branch-card h3 {
	margin-top: 0;
}

.stonehouse-resource-list {
	border-top: 3px solid var(--stonehouse-limestone);
}

.stonehouse-resource-list .wp-block-post {
	border-bottom: 1px solid var(--stonehouse-border);
	padding-block: 1rem;
}

/* Legacy alert (keep for existing pages) */
.stonehouse-alert {
	background: #eef3ea;
	border-left: 6px solid var(--stonehouse-forest);
	padding: 1rem 1.25rem;
}


/* ===================================================
   ZONE 1 · HERO
   =================================================== */

.stonehouse-front-page {
	margin-top: 0;
}

.stonehouse-home-hero {
	background:
		linear-gradient(
			115deg,
			rgba(13, 24, 18, 0.9) 0%,
			rgba(18, 28, 20, 0.58) 42%,
			rgba(0, 0, 0, 0.08) 100%
		),
		url("/wp-content/uploads/2026/05/Stonehouse-Entrance.webp") center / cover no-repeat;
	display: flex;
	align-items: center;
	overflow: hidden;
	position: relative;
}

.stonehouse-home-hero::after {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px);
	background-size: 5rem 5rem;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.14;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.stonehouse-hero-copy {
	max-width: min(62rem, 92vw);
	padding-block: clamp(1rem, 3vw, 2rem);
	z-index: 2;
}

.stonehouse-hero-copy h1 {
	color: var(--stonehouse-paper);
	font-size: max(2.4rem, min(4vw, 3.8rem));
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.12;
	margin-bottom: 1rem;
	max-width: 22ch;
	text-shadow: 0 3px 20px rgba(0, 0, 0, 0.35);
}

.stonehouse-home-hero > .stonehouse-kicker {
	color: rgba(255, 255, 255, 0.82);
	left: 1rem;
	margin: 0;
	position: absolute;
	top: 1rem;
	z-index: 3;
}

/* Hero subtitle paragraph */
.stonehouse-hero-sub {
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	font-weight: 400;
	line-height: 1.65;
	margin-bottom: 2rem;
	max-width: 50ch;
}

/* Hero button row */
.stonehouse-hero-buttons {
	gap: 0.75rem;
	margin-top: 0.25rem;
}

.stonehouse-hero-buttons .wp-block-button__link {
	font-size: 0.92rem;
	letter-spacing: 0.03em;
	padding: 0.9em 1.9em;
}

/* Ghost (outline) button styled for dark hero background */
.stonehouse-hero-buttons .wp-block-button.is-style-outline .wp-block-button__link,
.stonehouse-btn-ghost .wp-block-button__link {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.72);
	color: #ffffff;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.stonehouse-hero-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover,
.stonehouse-btn-ghost .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: #ffffff;
	box-shadow: none;
	color: #ffffff;
}


/* ===================================================
   ZONE 2 · COMMUNITY IDENTITY STRIP
   =================================================== */

.stonehouse-pillars-strip {
	background: var(--stonehouse-slate);
	border-bottom: 4px solid var(--stonehouse-forest);
	padding-block: clamp(1.6rem, 3vw, 2.25rem);
	padding-inline: clamp(1.25rem, 4vw, 4rem);
	position: relative;
	z-index: 2;
}

/* The WP columns block becomes the pillars row */
.stonehouse-pillars-columns.wp-block-columns {
	gap: 0;
	margin: 0 auto;
	max-width: 1180px;
}

.stonehouse-pillar {
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	padding-block: 0.35rem;
	padding-inline: clamp(1rem, 2.5vw, 2rem);
	text-align: center;
}

/* All pillars centered — consistent treatment across the strip */

.stonehouse-pillar:last-child {
	border-right: none;
}

/* Concept title — large display text */
.stonehouse-pillar-concept {
	color: #ffffff;
	font-family: var(--stonehouse-display);
	font-size: clamp(1.05rem, 1.65vw, 1.35rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
	margin: 0 0 0.3rem !important;
}

/* Subtitle line */
.stonehouse-pillar-label {
	color: var(--stonehouse-sage);
	font-family: var(--stonehouse-sans);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.35;
	margin: 0 !important;
	text-transform: uppercase;
	white-space: nowrap; /* prevent mid-word wraps on desktop */
}


/* ===================================================
   ZONE 2B · PHOTO-LED PLACE FEATURE
   =================================================== */

.stonehouse-place-feature {
	background: var(--stonehouse-off-white);
	border-bottom: 1px solid rgba(32, 42, 47, 0.08);
	padding: clamp(3rem, 5.5vw, 4.75rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-place-columns {
	gap: clamp(2rem, 4.8vw, 4rem);
	margin-inline: auto;
	max-width: 1180px;
}

.stonehouse-photo-stack {
	aspect-ratio: 1.34;
	margin: 0;
	position: relative;
}

.stonehouse-photo-stack figure {
	margin: 0;
	overflow: hidden;
}

.stonehouse-photo-stack img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.stonehouse-photo-main {
	border: 1px solid rgba(32, 42, 47, 0.12);
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(32, 42, 47, 0.13);
	height: 100%;
	width: 100%;
}

.stonehouse-place-copy-column h2 {
	font-size: clamp(1.95rem, 3vw, 2.75rem);
	line-height: 1.08;
	margin-block: 0.35rem 0.85rem;
	max-width: 19ch;
}

.stonehouse-place-lede {
	color: var(--stonehouse-muted);
	font-size: clamp(0.98rem, 1.2vw, 1.05rem);
	line-height: 1.6;
	max-width: 48ch;
}

.stonehouse-feature-list {
	background: #ffffff;
	border: 1px solid rgba(32, 42, 47, 0.1);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	display: grid;
	gap: 0;
	margin-top: clamp(1.25rem, 2.8vw, 1.8rem);
	overflow: hidden;
}

.stonehouse-feature-list p {
	border-bottom: 1px solid rgba(32, 42, 47, 0.12);
	display: grid;
	gap: 0.6rem;
	grid-template-columns: minmax(9rem, 0.38fr) 1fr;
	margin: 0 !important;
	padding: 1rem 1.1rem;
}

.stonehouse-feature-list p:last-child {
	border-bottom: 0;
}

.stonehouse-feature-list strong {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-display);
	font-size: 1rem;
	line-height: 1.2;
}

.stonehouse-feature-list span {
	color: var(--stonehouse-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}


/* ===================================================
   ZONE 3 · COMMITTEE NAVIGATION GRID
   =================================================== */

.stonehouse-committees-zone {
	background:
		linear-gradient(180deg, rgba(251, 250, 245, 0.98), rgba(255, 255, 255, 0.98)),
		var(--stonehouse-paper);
	padding: clamp(2.75rem, 4.8vw, 4rem) clamp(1.25rem, 4vw, 4rem);
}

/* Zone heading block */
.stonehouse-zone-header {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	max-width: 600px;
}

.stonehouse-zone-header h2 {
	font-size: clamp(1.85rem, 3vw, 2.65rem);
	letter-spacing: 0.01em;
	line-height: 1.05;
	margin-block: 0.3rem 0;
}

.stonehouse-zone-sub {
	color: var(--stonehouse-muted);
	font-size: 1rem;
	line-height: 1.65;
	margin-top: 0.75rem;
	max-width: 52ch;
}

/* 3-column responsive CSS grid */
.stonehouse-committee-grid {
	align-items: stretch;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, 1fr);
	margin-inline: auto;
	max-width: 1280px;
}

.stonehouse-committee-grid > .stonehouse-committee-card {
	margin-block-start: 0;
	margin-top: 0;
}

/* Base committee card */
.stonehouse-committee-card {
	align-self: stretch;
	background:
		linear-gradient(180deg, rgba(251, 250, 245, 0.55), rgba(255, 255, 255, 0) 4.5rem),
		var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 8px;
	border-top: 3px solid var(--stonehouse-sage);
	box-shadow: var(--shadow-card);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(1.15rem, 2.1vw, 1.45rem);
	text-align: left;
	transition:
		border-color 220ms ease,
		transform 260ms var(--ease-lift),
		box-shadow 260ms var(--ease-lift);
}

.stonehouse-committee-card > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.stonehouse-committee-card:hover {
	border-color: rgba(72, 105, 76, 0.28);
	box-shadow: var(--shadow-lg);
	transform: translateY(-2px);
}

/* Colour-coded top accent per committee type */
.stonehouse-committee-card--governance { border-top-color: var(--accent-governance); }
.stonehouse-committee-card--safety     { border-top-color: var(--accent-safety);     }
.stonehouse-committee-card--social     { border-top-color: var(--accent-social);     }
.stonehouse-committee-card--landscape  { border-top-color: var(--accent-landscape);  }
.stonehouse-committee-card--pool       { border-top-color: var(--accent-pool);       }
.stonehouse-committee-card--resources  { border-top-color: var(--accent-resources);  }

/* Icon badge — large emoji display */
.stonehouse-committee-icon {
	align-items: center;
	background: var(--stonehouse-mist);
	border-radius: 999px;
	display: inline-flex;
	font-size: 1rem;
	height: 2rem;
	justify-content: center;
	line-height: 1;
	margin: 0 0 0.8rem !important;
	width: 2rem;
}

/* Card heading */
.stonehouse-committee-card h3 {
	font-size: clamp(1.02rem, 1.45vw, 1.16rem);
	letter-spacing: 0.01em;
	line-height: 1.2;
	margin-block: 0 0.55rem;
}

/* Card body text */
.stonehouse-committee-card > .wp-block-paragraph,
.stonehouse-committee-card p:not(.stonehouse-committee-icon):not(.stonehouse-card-link):not(.stonehouse-kicker) {
	color: var(--stonehouse-muted);
	flex: 1;
	font-size: 0.9rem;
	line-height: 1.55;
	margin: 0;
}

/* Arrow CTA link at bottom of card */
.stonehouse-card-link {
	margin-top: auto !important;
	padding-top: 0.9rem;
}

.stonehouse-card-link a {
	color: var(--stonehouse-forest);
	font-family: var(--stonehouse-sans);
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: color 180ms ease, letter-spacing 200ms ease;
}

.stonehouse-card-link a:hover {
	color: var(--stonehouse-stone);
	letter-spacing: 0.02em;
}


/* ===================================================
   ZONE 3B · RESIDENT TOOL STRIP
   =================================================== */

.stonehouse-resident-tools {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0) 32rem),
		var(--stonehouse-slate);
	border-block: 1px solid rgba(255, 255, 255, 0.08);
	padding: clamp(2.75rem, 5vw, 4.4rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-tools-header {
	display: block;
	margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
	max-width: 1280px;
}

.stonehouse-resident-tools .stonehouse-kicker {
	color: var(--stonehouse-sage);
}

.stonehouse-tools-header h2 {
	color: #ffffff;
	font-size: clamp(1.85rem, 3vw, 2.65rem);
	line-height: 1.08;
	margin: 0.35rem 0 0;
	max-width: 20ch;
}

.stonehouse-tools-header::after {
	color: rgba(255, 255, 255, 0.58);
	content: "Find the page you need without digging through menus.";
	display: block;
	font-size: 0.95rem;
	line-height: 1.55;
	margin-top: 0.85rem;
	max-width: 36ch;
}

.stonehouse-tool-grid {
	align-items: stretch;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(4, 1fr);
	margin-inline: auto;
	max-width: 1280px;
}

.stonehouse-tool-card {
	align-content: start;
	background: rgba(255, 255, 255, 0.072);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.72);
	display: grid;
	gap: 0.55rem;
	height: 100%;
	margin: 0 !important;
	min-height: 10.2rem;
	padding: clamp(1.05rem, 2vw, 1.35rem);
	position: relative;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 240ms var(--ease-lift);
}

.stonehouse-tool-grid > * {
	margin-block-start: 0 !important;
}

.stonehouse-tool-card::after {
	color: var(--stonehouse-sage);
	content: "→";
	font-size: 1.05rem;
	font-weight: 700;
	position: absolute;
	right: 1.15rem;
	top: 1.1rem;
	transition:
		color 180ms ease,
		transform 220ms var(--ease-lift);
}

.stonehouse-tool-card:hover,
.stonehouse-tool-card:focus {
	background: rgba(255, 255, 255, 0.105);
	border-color: rgba(127, 146, 114, 0.42);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
	color: rgba(255, 255, 255, 0.86);
	transform: translateY(-2px);
}

.stonehouse-tool-card:hover::after,
.stonehouse-tool-card:focus::after {
	color: #ffffff;
	transform: translateX(3px);
}

.stonehouse-tool-icon {
	align-items: center;
	background: rgba(127, 146, 114, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-family: var(--stonehouse-display);
	font-size: 1rem;
	height: 2rem;
	justify-content: center;
	margin-bottom: 0.45rem;
	width: 2rem;
}

.stonehouse-tool-card strong {
	color: #ffffff;
	font-family: var(--stonehouse-display);
	font-size: clamp(1.05rem, 1.35vw, 1.2rem);
	line-height: 1.15;
	padding-right: 1.4rem;
}

.stonehouse-tool-card span:last-child {
	font-size: 0.86rem;
	line-height: 1.5;
	max-width: 22ch;
}


/* ===================================================
   ZONE 4 · NEWS + SIDEBAR
   =================================================== */

.stonehouse-home-content {
	background:
		linear-gradient(180deg, rgba(244, 246, 243, 0.96), rgba(241, 239, 230, 0.86)),
		var(--stonehouse-canvas);
	border-top: 1px solid rgba(32, 42, 47, 0.07);
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.7);
	padding: clamp(3rem, 5vw, 4.25rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-home-columns {
	align-items: flex-start;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	margin-inline: auto;
	max-width: 1280px;
	width: 100%;
}

/* Section heading (kicker + H2) */
.stonehouse-section-heading {
	margin-bottom: 1.5rem;
}

.stonehouse-section-heading h2 {
	font-size: clamp(1.9rem, 3.2vw, 2.8rem);
	letter-spacing: 0.01em;
	line-height: 1.07;
	margin-bottom: 0;
}

.stonehouse-section-heading::after {
	background: var(--stonehouse-forest);
	content: "";
	display: block;
	height: 3px;
	margin-top: 1rem;
	width: 3.5rem;
}

/* ---- Announcements feed card ---- */

.stonehouse-announcement-query {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	overflow: hidden;
}

.stonehouse-announcement-item {
	border-bottom: 1px solid var(--stonehouse-border);
	padding: clamp(1.2rem, 2.4vw, 1.65rem);
	position: relative;
	transition: background-color 200ms ease;
}

.stonehouse-announcement-item::before {
	background: var(--stonehouse-forest);
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 180ms ease;
	width: 3px;
}

.stonehouse-announcement-item:hover {
	background: rgba(72, 105, 76, 0.035);
}

.stonehouse-announcement-item:hover::before {
	opacity: 1;
}

.stonehouse-announcement-item:last-child {
	border-bottom: 0;
}

/* Editorial-scale title — reduced from original over-large size */
.stonehouse-announcement-item h3 {
	font-family: var(--stonehouse-display);
	font-size: clamp(1.15rem, 1.9vw, 1.5rem);
	letter-spacing: 0.01em;
	line-height: 1.2;
	margin-block: 0.35rem 0.6rem;
}

.stonehouse-announcement-item h3 a {
	color: var(--stonehouse-slate);
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-announcement-item h3 a:hover {
	color: var(--stonehouse-forest);
}

/* Dateline */
.stonehouse-post-date {
	color: var(--stonehouse-muted);
	font-family: var(--stonehouse-sans);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	margin: 0;
	text-transform: uppercase;
}

/* Excerpt "Read more" link */
.stonehouse-announcement-query .wp-block-post-excerpt__more-link {
	color: var(--stonehouse-forest);
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.stonehouse-announcement-query .wp-block-post-excerpt__more-link:hover {
	color: var(--stonehouse-stone);
}

/* Pagination */
.stonehouse-announcement-query .wp-block-query-pagination {
	border-top: 1px solid var(--stonehouse-border);
	padding: 1rem clamp(1.5rem, 3vw, 2.25rem);
}

/* ---- Sidebar stack ---- */

.stonehouse-sidebar-stack {
	display: grid;
	gap: 0.85rem;
}

/* Base sidebar card */
.stonehouse-sidebar-card {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	padding: clamp(1.15rem, 2.2vw, 1.45rem);
	position: relative;
}

.stonehouse-sidebar-card::after {
	background: rgba(72, 105, 76, 0.12);
	content: "";
	height: 1px;
	left: 1.15rem;
	position: absolute;
	right: 1.15rem;
	top: 0;
}

.stonehouse-sidebar-card h3 {
	font-family: var(--stonehouse-display);
	font-size: clamp(1.12rem, 1.6vw, 1.35rem);
	letter-spacing: 0.01em;
	line-height: 1.15;
	margin-top: 0.2rem;
}

.stonehouse-sidebar-card .wp-block-buttons {
	margin-top: 1rem;
}

.stonehouse-sidebar-card .is-style-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--stonehouse-forest);
	color: var(--stonehouse-forest);
}

.stonehouse-sidebar-card .is-style-outline .wp-block-button__link:hover {
	background: var(--stonehouse-forest);
	box-shadow: none;
	color: var(--stonehouse-paper);
}

/* SEAT Alert card — urgent treatment */
.stonehouse-alert-card {
	background: #fdf7f7;
	border-top: 3px solid var(--accent-safety);
}

.stonehouse-alert-card .stonehouse-kicker {
	color: var(--accent-safety);
}

/* Quick-access link list */
.stonehouse-quick-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.stonehouse-quick-links li {
	border-top: 1px solid var(--stonehouse-border);
	margin: 0;
	padding: 0;
}

.stonehouse-quick-links li:first-child {
	border-top: 0;
}

.stonehouse-quick-links a {
	align-items: center;
	color: var(--stonehouse-slate);
	display: flex;
	font-family: var(--stonehouse-sans);
	font-size: 0.92rem;
	font-weight: 600;
	justify-content: space-between;
	padding-block: 0.7rem;
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-quick-links a::after {
	color: var(--stonehouse-sage);
	content: "→";
	flex-shrink: 0;
	font-size: 0.88em;
	margin-left: 0.5rem;
	transition: transform 200ms var(--ease-lift);
}

.stonehouse-quick-links a:hover {
	color: var(--stonehouse-forest);
}

.stonehouse-quick-links a:hover::after {
	transform: translateX(4px);
}


/* ===================================================
   ZONE 5 · COMMUNITY PRIDE BANNER
   =================================================== */

.stonehouse-community-banner {
	/* Layered: forest gradient + subtle geometric SVG texture */
	background:
		linear-gradient(135deg, rgba(22, 37, 25, 0.92) 0%, rgba(36, 58, 39, 0.92) 100%),
		url("/wp-content/uploads/2026/05/Stonehouse-Entrance-1536x569.webp") center / cover no-repeat,
		url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	padding: clamp(3.75rem, 7vw, 5.75rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-banner-inner {
	margin-inline: auto;
	max-width: 720px;
	text-align: center;
}

.stonehouse-community-banner h2 {
	color: #ffffff;
	font-size: clamp(1.9rem, 3.4vw, 3rem);
	line-height: 1.1;
	margin-block: 0.5rem 1.25rem;
	margin-inline: auto;
	max-width: 20ch;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

/* Light kicker variant for dark backgrounds */
.stonehouse-kicker--light {
	color: rgba(255, 255, 255, 0.68) !important;
	margin-bottom: 0.75rem;
}

/* Banner body copy */
.stonehouse-banner-sub {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 1.05rem;
	line-height: 1.65;
	margin-block: 0 2.25rem !important;
	margin-inline: auto;
	max-width: 54ch;
}

/* Inverse button — solid white on forest green background.
   !important needed to beat WP's own button color and border styles. */
.stonehouse-btn-inverse .wp-block-button__link,
.stonehouse-community-banner .wp-block-button__link {
	background: #ffffff !important;
	border: 2px solid #ffffff !important;
	border-radius: 5px;
	color: var(--stonehouse-forest-dk) !important;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding: 0.95em 2.3em;
}

.stonehouse-btn-inverse .wp-block-button__link:hover,
.stonehouse-community-banner .wp-block-button__link:hover {
	background: var(--stonehouse-off-white) !important;
	border-color: var(--stonehouse-off-white) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
	color: var(--stonehouse-slate) !important;
}


/* ===================================================
   EVENTS CALENDAR · STONEHOUSE SKIN
   The Events Calendar month/list/day views.
   =================================================== */

.post-type-archive-tribe_events .wp-site-blocks {
	background:
		linear-gradient(180deg, rgba(72, 105, 76, 0.08), rgba(251, 250, 245, 0) 18rem),
		var(--stonehouse-off-white);
}

.tribe-common.tribe-events {
	box-sizing: border-box;
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	margin-inline: auto;
	max-width: 1280px;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 4vw, 4rem) clamp(3.5rem, 6vw, 5rem);
	width: 100%;
}

.post-type-archive-tribe_events .tec-a11y-title-hidden {
	clip: auto !important;
	clip-path: none !important;
	font-size: 0;
	height: auto !important;
	margin: 0 0 clamp(1.35rem, 3vw, 2.25rem) !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal !important;
	width: auto !important;
}

.post-type-archive-tribe_events .tec-a11y-title-hidden::before {
	color: var(--stonehouse-forest);
	content: "Community Calendar";
	display: block;
	font-family: var(--stonehouse-sans);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.4;
	margin-bottom: 0.45rem;
	text-transform: uppercase;
}

.post-type-archive-tribe_events .tec-a11y-title-hidden::after {
	color: var(--stonehouse-slate);
	content: "Upcoming Stonehouse Events";
	display: block;
	font-family: var(--stonehouse-display);
	font-size: clamp(2rem, 3.4vw, 3.15rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.05;
	margin-bottom: clamp(1.35rem, 3vw, 2.25rem);
	max-width: 13ch;
}

.tribe-events .tribe-events-header {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	overflow: visible;
	padding: 0;
}

.tribe-events .tribe-events-c-events-bar {
	background: #ffffff;
	border: 1px solid rgba(32, 42, 47, 0.1);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	margin: 0 0 1rem;
	overflow: hidden;
}

.tribe-events .tribe-events-c-events-bar__search-container,
.tribe-events .tribe-events-c-search {
	background: transparent;
}

.tribe-events .tribe-events-c-search__input-control-icon-svg {
	color: var(--stonehouse-forest);
}

.tribe-events .tribe-events-c-search__input,
.tribe-events .tribe-events-c-search__input:focus {
	background: transparent;
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	font-size: 0.95rem;
}

.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-common-c-btn:focus,
.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-search__button:focus,
.tribe-events .tribe-events-c-search__button:hover {
	background: var(--stonehouse-forest) !important;
	border-radius: 5px;
	color: #ffffff !important;
	font-family: var(--stonehouse-sans);
	font-weight: 800;
	letter-spacing: 0.01em;
}

.tribe-events .tribe-events-c-view-selector__list-item-link {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	font-weight: 700;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
	color: var(--stonehouse-forest);
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::after {
	background-color: var(--stonehouse-forest);
	height: 3px;
}

.tribe-events .tribe-events-c-top-bar {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(32, 42, 47, 0.1);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	margin-bottom: 1.15rem;
	padding: 0.8rem 1rem;
}

.tribe-events .tribe-events-c-top-bar__nav-link,
.tribe-events .tribe-events-c-top-bar__today-button {
	border-color: rgba(32, 42, 47, 0.14);
	border-radius: 5px;
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	font-weight: 700;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-display);
	font-size: clamp(1.5rem, 2.3vw, 2.05rem);
	font-weight: 700;
	line-height: 1.1;
}

.tribe-events .tribe-events-calendar-month__header-column-title {
	color: var(--stonehouse-forest);
	font-family: var(--stonehouse-sans);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.tribe-events .tribe-events-calendar-month {
	background: #ffffff;
	border: 1px solid rgba(32, 42, 47, 0.1);
	border-radius: 8px;
	box-shadow: var(--shadow-card);
	overflow: hidden;
}

.tribe-events .tribe-events-calendar-month__week {
	border-left: 0;
}

.tribe-events .tribe-events-calendar-month__day {
	background: #ffffff;
	border-color: rgba(32, 42, 47, 0.1);
	min-height: 9.5rem;
	transition: background-color 180ms ease;
}

.tribe-events .tribe-events-calendar-month__day:hover {
	background: rgba(72, 105, 76, 0.035);
}

.tribe-events .tribe-events-calendar-month__day--other-month {
	background: rgba(244, 246, 243, 0.56);
}

.tribe-events .tribe-events-calendar-month__day--current {
	background:
		linear-gradient(180deg, rgba(72, 105, 76, 0.08), rgba(255, 255, 255, 0) 5rem),
		#ffffff;
	box-shadow: inset 0 3px 0 var(--stonehouse-forest);
}

.tribe-events .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day-date-link {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-display);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
}

.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-link,
.tribe-events .tribe-events-calendar-month__day--other-month .tribe-events-calendar-month__day-date {
	color: rgba(32, 42, 47, 0.52);
}

.tribe-events .tribe-events-calendar-month__calendar-event {
	background: rgba(72, 105, 76, 0.08);
	border-left: 3px solid var(--stonehouse-forest);
	border-radius: 4px;
	margin-top: 0.4rem;
	padding: 0.45rem 0.55rem;
}

.tribe-events .tribe-events-calendar-month__calendar-event-datetime {
	color: var(--stonehouse-muted);
	font-family: var(--stonehouse-sans);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-sans);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title-link:hover {
	color: var(--stonehouse-forest);
}

.tribe-events .tribe-events-c-subscribe-dropdown__button {
	border-color: var(--stonehouse-forest) !important;
	border-radius: 5px;
	color: var(--stonehouse-forest) !important;
	font-family: var(--stonehouse-sans);
	font-weight: 800;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus {
	background: var(--stonehouse-forest) !important;
	color: #ffffff !important;
}

.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__day-cell--selected:focus,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
	background: var(--stonehouse-forest) !important;
	border-radius: 5px;
	color: #ffffff !important;
}

.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum {
	color: #ffffff !important;
}

.tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
	background-color: var(--stonehouse-forest) !important;
}


/* ===================================================
   RESPONSIVE BREAKPOINTS
   =================================================== */

@media (max-width: 1024px) {
	.stonehouse-committee-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.stonehouse-tools-header {
		max-width: 100%;
	}

	.stonehouse-tools-header::after {
		max-width: 34ch;
	}

	.stonehouse-tool-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.stonehouse-place-columns.wp-block-columns {
		flex-direction: column;
	}

	.stonehouse-place-columns .wp-block-column {
		flex-basis: 100% !important;
	}

	.stonehouse-photo-stack {
		aspect-ratio: 1.35;
	}

	.stonehouse-place-copy-column h2 {
		max-width: 22ch;
	}

	.stonehouse-feature-list p {
		grid-template-columns: 1fr;
	}

	/* Stack pillars 2×2 on tablet */
	.stonehouse-pillars-columns.wp-block-columns {
		flex-wrap: wrap;
	}

	.stonehouse-pillar {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		flex: 1 1 calc(50% - 1rem);
		padding-block: 0.8rem;
		text-align: center;
	}

	.stonehouse-pillar-label {
		white-space: normal; /* allow wrap when stacked */
	}

	.stonehouse-pillar:last-child,
	.stonehouse-pillar:nth-last-child(2):nth-child(odd) {
		border-bottom: none;
	}
}

@media (max-width: 640px) {
	body {
		font-size: 16px;
	}

	/* Single-column committee grid on mobile */
	.stonehouse-committee-grid {
		grid-template-columns: 1fr;
	}

	.stonehouse-place-feature,
	.stonehouse-resident-tools {
		padding-inline: 1.25rem;
	}

	.stonehouse-tool-grid {
		grid-template-columns: 1fr;
	}

	.stonehouse-tool-card {
		min-height: auto;
	}

	/* Single-column pillars on mobile */
	.stonehouse-pillar {
		flex: 1 1 100%;
		padding-block: 0.7rem;
	}

	/* Taller hero on mobile for breathing room */
	.stonehouse-home-hero {
		min-height: 540px !important;
	}

	.stonehouse-hero-copy h1 {
		max-width: 100%;
	}

	.stonehouse-hero-sub {
		max-width: 100%;
	}

	/* Stack sidebar below main column on mobile */
	.stonehouse-home-columns.wp-block-columns {
		flex-direction: column;
	}

	.stonehouse-home-columns .wp-block-column {
		flex-basis: 100% !important;
	}

	.stonehouse-branch-card {
		padding: 1.1rem;
	}
}


/* ===================================================
   COMMITTEE PAGES & CATEGORY ARCHIVES
   Used by:
     • taxonomy-category.html (category archive template)
     • "Committee Post Feed" block pattern (inserted on committee pages)
   =================================================== */

/* ── Archive / committee page wrapper ── */

.stonehouse-archive-page {
	margin-top: 0;
}

/* ── Archive header: dark slate band with kicker + title + description ── */

.stonehouse-archive-header {
	background: var(--stonehouse-slate);
	border-bottom: 4px solid var(--stonehouse-forest);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-archive-header-inner {
	max-width: 860px;
}

/* Category kicker inside header */
.stonehouse-archive-header .stonehouse-kicker {
	color: var(--stonehouse-sage);
}

/* The category name — rendered by wp:query-title */
.stonehouse-archive-title,
.stonehouse-archive-page .wp-block-query-title {
	color: #ffffff;
	font-family: var(--stonehouse-display);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.1;
	margin-block: 0.35rem 0.75rem;
}

/* Category description — rendered by wp:term-description */
.stonehouse-archive-description,
.stonehouse-archive-page .wp-block-term-description p {
	color: rgba(255, 255, 255, 0.68);
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0;
	max-width: 56ch;
}

/* ── Post list area ── */

.stonehouse-archive-content {
	background: var(--stonehouse-canvas);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-committee-post-query {
	max-width: 900px; /* editorial column width */
}

/* ── Individual post item card ── */

.stonehouse-committee-post-item {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-left: 4px solid var(--stonehouse-forest);
	border-radius: 0 12px 12px 0;
	box-shadow: var(--shadow-sm);
	margin-bottom: 1.25rem;
	padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2.25rem);
	transition:
		border-left-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms var(--ease-lift);
}

.stonehouse-committee-post-item:last-child {
	margin-bottom: 0;
}

.stonehouse-committee-post-item:hover {
	border-left-color: var(--stonehouse-sage);
	box-shadow: var(--shadow-md);
	transform: translateX(3px);
}

/* Post date */
.stonehouse-committee-post-item .stonehouse-post-date {
	margin-bottom: 0.4rem;
}

/* Post title */
.stonehouse-committee-post-item h2,
.stonehouse-committee-post-item h3 {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.2;
	margin-block: 0 0.6rem;
}

.stonehouse-committee-post-item h2 a,
.stonehouse-committee-post-item h3 a {
	color: var(--stonehouse-slate);
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-committee-post-item h2 a:hover,
.stonehouse-committee-post-item h3 a:hover {
	color: var(--stonehouse-forest);
}

/* Excerpt */
.stonehouse-committee-post-item .wp-block-post-excerpt__excerpt {
	color: var(--stonehouse-muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

.stonehouse-committee-post-item .wp-block-post-excerpt__more-link {
	color: var(--stonehouse-forest);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.stonehouse-committee-post-item .wp-block-post-excerpt__more-link:hover {
	color: var(--stonehouse-stone);
}

/* Pagination */
.stonehouse-committee-post-query .wp-block-query-pagination {
	border-top: 1px solid var(--stonehouse-border);
	margin-top: 2rem;
	padding-top: 1.25rem;
}

/* Empty state */
.stonehouse-no-posts {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-left: 4px solid var(--stonehouse-limestone);
	border-radius: 0 12px 12px 0;
	color: var(--stonehouse-muted);
	font-size: 1rem;
	padding: 1.5rem 2rem;
}

/* ── Committee feed wrapper (used by block pattern on committee pages) ── */

.stonehouse-committee-feed-wrap {
	background: var(--stonehouse-canvas);
	border-top: 1px solid rgba(32, 42, 47, 0.07);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

/* ── Responsive ── */

@media (max-width: 640px) {
	.stonehouse-committee-post-item {
		border-left-width: 3px;
		padding: 1.25rem;
	}

	.stonehouse-committee-post-item:hover {
		transform: none; /* skip translateX on touch */
	}
}


/* ===================================================
   FOOTER
   =================================================== */

.stonehouse-footer {
	background: var(--stonehouse-slate);
	border-top: 4px solid var(--stonehouse-forest);
}

/* ── Main body: brand + nav columns ── */

.stonehouse-footer-body {
	gap: clamp(3rem, 6vw, 5rem);
	padding: clamp(3.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

/* Brand column */
.stonehouse-footer-brand {
	flex: 1 1 280px;
	max-width: 340px;
}

/* Site title in footer */
.stonehouse-footer-title,
.stonehouse-footer .wp-block-site-title a,
.stonehouse-footer .wp-block-site-title {
	color: #ffffff !important;
	font-family: var(--stonehouse-display) !important;
	font-size: clamp(1.2rem, 1.8vw, 1.5rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-decoration: none !important;
}

.stonehouse-footer-tagline {
	color: var(--stonehouse-sage);
	font-family: var(--stonehouse-sans);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	margin: 0.4rem 0 1.1rem !important;
	text-transform: uppercase;
}

.stonehouse-footer-mission {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.88rem;
	line-height: 1.65;
	margin: 0 !important;
	max-width: 30ch;
}

/* Nav columns cluster */
.stonehouse-footer-nav {
	flex: 2 1 480px;
	gap: clamp(2rem, 4vw, 3.5rem);
}

/* Individual nav column */
.stonehouse-footer-col {
	flex: 1 1 120px;
	min-width: 110px;
}

.stonehouse-footer-col-heading {
	color: #ffffff !important;
	font-family: var(--stonehouse-sans) !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.15em;
	margin: 0 0 1rem !important;
	text-transform: uppercase;
}

/* Footer link list */
.stonehouse-footer-links {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.stonehouse-footer-links li {
	margin: 0;
	padding: 0;
}

.stonehouse-footer-links a {
	color: rgba(255, 255, 255, 0.55);
	display: block;
	font-family: var(--stonehouse-sans);
	font-size: 0.9rem;
	font-weight: 400;
	padding-block: 0.35rem;
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-footer-links a:hover {
	color: var(--stonehouse-sage);
}

/* ── Bottom legal bar ── */

.stonehouse-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	gap: 1rem;
	padding: 1.4rem clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-footer-legal,
.stonehouse-footer-bottom p {
	color: rgba(255, 255, 255, 0.3);
	font-family: var(--stonehouse-sans);
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	margin: 0 !important;
}

.stonehouse-footer-legal a {
	color: rgba(255, 255, 255, 0.4);
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-footer-legal a:hover {
	color: var(--stonehouse-sage);
}

/* ── Footer responsive ── */

@media (max-width: 768px) {
	.stonehouse-footer-body {
		flex-direction: column;
	}

	.stonehouse-footer-brand {
		max-width: 100%;
	}

	.stonehouse-footer-mission {
		max-width: 100%;
	}

	.stonehouse-footer-nav {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 100%;
	}
}

@media (max-width: 480px) {
	.stonehouse-footer-nav {
		gap: 1.5rem 2rem;
	}

	.stonehouse-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}


/* ===================================================
   OUTLINE BUTTON — light background variant
   Overrides the global fill style for is-style-outline.
   Hero ghost and banner inverse have their own scoped
   rules that take priority over this.
   =================================================== */

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--stonehouse-forest);
	color: var(--stonehouse-forest);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--stonehouse-forest);
	border-color: var(--stonehouse-forest);
	box-shadow: 0 4px 14px rgba(46, 74, 49, 0.25);
	color: var(--stonehouse-paper);
}


/* ===================================================
   PAGE TEMPLATE
   Used by templates/page.html for committee pages,
   About, Contact, Resident Resources, and all standard pages.
   =================================================== */

.stonehouse-page {
	margin-top: 0;
}

.stonehouse-page > .wp-block-post-content {
	background: var(--stonehouse-canvas);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-page > .wp-block-post-content > :where(:not(.alignfull):not(.alignwide)) {
	margin-inline: auto;
	max-width: 860px;
}

.stonehouse-page > .wp-block-post-content > .alignwide {
	margin-inline: auto;
	max-width: 1280px;
}

.stonehouse-page > .wp-block-post-content > :first-child {
	margin-block-start: 0;
}

.stonehouse-page > .wp-block-post-content > :last-child {
	margin-block-end: 0;
}

/* Dark slate page header — consistent with archive header visual language */
.stonehouse-page-header {
	background: var(--stonehouse-slate);
	border-bottom: 4px solid var(--stonehouse-forest);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-page-header-inner {
	max-width: 860px;
}

/* Kicker in dark context */
.stonehouse-page-header .stonehouse-kicker {
	color: var(--stonehouse-sage);
}

/* Page title — rendered by wp:post-title (page.html) or wp:heading with class (404.html) */
.stonehouse-page-title,
.stonehouse-page-header .wp-block-post-title {
	color: #ffffff;
	font-family: var(--stonehouse-display);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.1;
	margin-block: 0 0.5rem;
}

/* Optional excerpt / subtitle — rendered by wp:post-excerpt or wp:paragraph with class.
   Set the Excerpt field in the WP editor (Summary → Excerpt) to show a description. */
.stonehouse-page-excerpt,
.stonehouse-page-header .wp-block-post-excerpt,
.stonehouse-page-header .wp-block-post-excerpt p {
	color: rgba(255, 255, 255, 0.65);
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0;
	max-width: 56ch;
}

/* Suppress the "Read more" link when excerpt is used as a subtitle */
.stonehouse-page-excerpt .wp-block-post-excerpt__more-link,
.stonehouse-page-header .wp-block-post-excerpt__more-link {
	display: none;
}


/* ===================================================
   SINGLE POST TEMPLATE
   Used by templates/single.html for individual post views.
   =================================================== */

.stonehouse-single {
	margin-top: 0;
}

/* Post header: dark slate, same visual language as page/archive header */
.stonehouse-post-header {
	background: var(--stonehouse-slate);
	border-bottom: 4px solid var(--stonehouse-forest);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-post-header-inner {
	max-width: 860px;
}

/* Category breadcrumb above the post title */
.stonehouse-post-breadcrumb-cats {
	color: var(--stonehouse-sage);
	font-family: var(--stonehouse-sans);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.stonehouse-post-breadcrumb-cats a {
	color: var(--stonehouse-sage);
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-post-breadcrumb-cats a:hover {
	color: #ffffff;
}

/* Post title */
.stonehouse-single-title,
.stonehouse-post-header .wp-block-post-title {
	color: #ffffff;
	font-family: var(--stonehouse-display);
	font-size: clamp(1.9rem, 3.8vw, 3.2rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.1;
	margin-block: 0.2rem 0.75rem;
}

/* Date in the post header */
.stonehouse-post-header .stonehouse-post-date {
	color: rgba(255, 255, 255, 0.5);
}

/* ── Post body ── */

.stonehouse-post-body {
	background: var(--stonehouse-canvas);
	border-top: 1px solid rgba(32, 42, 47, 0.07);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

/* Readable editorial content */
.stonehouse-post-body .wp-block-post-content {
	font-size: 1.02rem;
	line-height: 1.8;
}

.stonehouse-post-body .wp-block-post-content h2 {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	margin-block: 2.25rem 0.75rem;
}

.stonehouse-post-body .wp-block-post-content h3 {
	font-size: clamp(1.2rem, 1.9vw, 1.5rem);
	margin-block: 1.75rem 0.6rem;
}

.stonehouse-post-body .wp-block-post-content p {
	margin-block: 0 1.25rem;
}

/* Previous / Next post navigation */
.stonehouse-post-nav {
	border-top: 1px solid var(--stonehouse-border);
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 1.5rem;
}

.stonehouse-post-nav .wp-block-post-navigation-link a {
	color: var(--stonehouse-forest);
	font-family: var(--stonehouse-sans);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-post-nav .wp-block-post-navigation-link a:hover {
	color: var(--stonehouse-stone);
}

@media (max-width: 480px) {
	.stonehouse-post-nav.wp-block-group {
		flex-direction: column;
	}
}


/* ===================================================
   RESIDENT RESOURCES FEED
   Used by the "Resident Resources Feed" block pattern
   on the Resident Resources page.
   =================================================== */

/* Feed wrapper — canvas background, consistent section spacing */
.stonehouse-resources-feed-wrap {
	background: var(--stonehouse-canvas);
	border-top: 1px solid rgba(32, 42, 47, 0.07);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

/* Responsive card grid — auto-fill columns, minimum 260px wide */
.stonehouse-resources-query .wp-block-post-template.stonehouse-resources-grid,
.stonehouse-resources-grid.wp-block-post-template,
ul.stonehouse-resources-grid {
	display: grid !important;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Individual resource document card */
.stonehouse-resource-card {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 12px;
	border-top: 3px solid var(--stonehouse-limestone);
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	transition:
		border-top-color 220ms ease,
		box-shadow 220ms ease,
		transform 220ms var(--ease-lift);
}

.stonehouse-resource-card:hover {
	border-top-color: var(--stonehouse-forest);
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
}

/* Card document title */
.stonehouse-resource-card h3 {
	font-family: var(--stonehouse-display);
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	letter-spacing: 0.01em;
	line-height: 1.25;
	margin-block: 0.65rem 0.5rem;
}

.stonehouse-resource-card h3 a {
	color: var(--stonehouse-slate);
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-resource-card h3 a:hover {
	color: var(--stonehouse-forest);
}

/* Card excerpt */
.stonehouse-resource-card .wp-block-post-excerpt {
	flex: 1;
}

.stonehouse-resource-card .wp-block-post-excerpt__excerpt {
	color: var(--stonehouse-muted);
	font-size: 0.88rem;
	line-height: 1.55;
	margin-bottom: 0.5rem;
}

/* "View Document →" link */
.stonehouse-resource-card .wp-block-post-excerpt__more-link {
	color: var(--stonehouse-forest);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 180ms ease;
}

.stonehouse-resource-card .wp-block-post-excerpt__more-link:hover {
	color: var(--stonehouse-stone);
}

/* Resource type taxonomy badge (Bylaws, ARC Guidelines, etc.) */
.stonehouse-resource-type-badge {
	display: block;
	line-height: 1;
}

.stonehouse-resource-type-badge a,
.stonehouse-resource-type-badge .wp-block-post-terms__term {
	background: var(--stonehouse-canvas);
	border: 1px solid var(--stonehouse-border);
	border-radius: 3px;
	color: var(--stonehouse-stone);
	display: inline-block;
	font-family: var(--stonehouse-sans);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.22em 0.55em;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color 180ms ease,
		color 180ms ease;
}

.stonehouse-resource-type-badge a:hover {
	background: var(--stonehouse-forest);
	border-color: var(--stonehouse-forest);
	color: #ffffff;
}

/* Resources feed pagination */
.stonehouse-resources-query .wp-block-query-pagination {
	border-top: 1px solid var(--stonehouse-border);
	margin-top: 2rem;
	padding-top: 1.25rem;
}

/* ── Responsive ── */

@media (max-width: 640px) {
	.stonehouse-resources-grid.wp-block-post-template,
	ul.stonehouse-resources-grid {
		grid-template-columns: 1fr !important;
	}
}


/* ===================================================
   COMMUNITY CALENDAR
   Custom front-end for The Events Calendar entries.
   =================================================== */

.stonehouse-calendar-shell {
	background: var(--stonehouse-canvas);
	border-top: 1px solid rgba(32, 42, 47, 0.07);
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 4rem);
}

.stonehouse-calendar-hero {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 0.85fr) minmax(20rem, 1.15fr);
	margin-inline: auto;
	max-width: 1280px;
}

.stonehouse-calendar-intro {
	align-self: center;
	max-width: 34rem;
}

.stonehouse-calendar-intro h2,
.stonehouse-calendar-empty h2 {
	font-size: clamp(2rem, 4vw, 4.1rem);
	letter-spacing: 0;
	margin: 0 0 1rem;
}

.stonehouse-calendar-intro p:not(.stonehouse-kicker),
.stonehouse-calendar-empty p:not(.stonehouse-kicker) {
	color: var(--stonehouse-muted);
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.75;
	margin: 0;
}

.stonehouse-calendar-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1rem;
	margin-top: 1.6rem;
}

.stonehouse-calendar-button,
.stonehouse-calendar-link {
	border-radius: 5px;
	font-family: var(--stonehouse-sans);
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease;
}

.stonehouse-calendar-button {
	background: var(--stonehouse-forest);
	color: #ffffff;
	padding: 0.95rem 1.25rem;
}

.stonehouse-calendar-button:hover,
.stonehouse-calendar-button:focus {
	background: var(--stonehouse-forest-dk);
	box-shadow: 0 6px 18px rgba(46, 74, 49, 0.28);
	color: #ffffff;
}

.stonehouse-calendar-link {
	border: 1px solid var(--stonehouse-border);
	color: var(--stonehouse-forest);
	padding: 0.9rem 1.05rem;
}

.stonehouse-calendar-link:hover,
.stonehouse-calendar-link:focus {
	border-color: var(--stonehouse-sage);
	color: var(--stonehouse-forest-dk);
}

.stonehouse-calendar-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(1.5rem, 4vw, 3rem) auto 0;
	max-width: 1280px;
}

.stonehouse-event-card {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 8px;
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition:
		box-shadow 220ms ease,
		transform 220ms var(--ease-lift);
}

.stonehouse-event-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
}

.stonehouse-event-card--featured {
	box-shadow: var(--shadow-card);
	display: grid;
	grid-template-columns: minmax(12rem, 0.95fr) minmax(0, 1.05fr);
	min-height: 22rem;
}

.stonehouse-event-media {
	background:
		linear-gradient(135deg, rgba(72, 105, 76, 0.14), rgba(155, 154, 145, 0.18)),
		var(--stonehouse-off-white);
	display: block;
	min-height: 13.5rem;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.stonehouse-event-card--featured .stonehouse-event-media {
	min-height: 100%;
}

.stonehouse-event-media img,
.stonehouse-event-media-fallback {
	display: block;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	width: 100%;
}

.stonehouse-event-media-fallback {
	background:
		linear-gradient(135deg, rgba(32, 42, 47, 0.08), rgba(72, 105, 76, 0.2)),
		radial-gradient(circle at 22% 22%, rgba(255, 255, 255, 0.78), transparent 26%),
		var(--stonehouse-sage);
}

.stonehouse-event-date-badge {
	background: #ffffff;
	border: 1px solid rgba(226, 232, 240, 0.92);
	border-radius: 6px;
	box-shadow: 0 10px 26px rgba(32, 42, 47, 0.16);
	display: grid;
	left: 1rem;
	min-width: 4.5rem;
	overflow: hidden;
	position: absolute;
	text-align: center;
	top: 1rem;
	z-index: 2;
}

.stonehouse-event-date-badge span {
	background: var(--stonehouse-forest);
	color: #ffffff;
	font-family: var(--stonehouse-sans);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 0.45rem 0.35rem;
	text-transform: uppercase;
}

.stonehouse-event-date-badge strong {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-display);
	font-size: 2rem;
	line-height: 1;
	padding: 0.45rem 0.35rem 0.55rem;
}

.stonehouse-event-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.15rem, 2.5vw, 1.6rem);
}

.stonehouse-event-card--featured .stonehouse-event-body {
	justify-content: center;
	padding: clamp(1.35rem, 3vw, 2.1rem);
}

.stonehouse-event-eyebrow {
	color: var(--stonehouse-forest);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.35;
	margin: 0 0 0.55rem;
	text-transform: uppercase;
}

.stonehouse-event-body h3 {
	font-size: clamp(1.2rem, 2vw, 1.65rem);
	letter-spacing: 0;
	line-height: 1.18;
	margin: 0 0 0.65rem;
}

.stonehouse-event-card--featured h3 {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.stonehouse-event-body h3 a {
	color: var(--stonehouse-slate);
	text-decoration: none;
}

.stonehouse-event-body h3 a:hover,
.stonehouse-event-body h3 a:focus {
	color: var(--stonehouse-forest);
}

.stonehouse-event-excerpt {
	color: var(--stonehouse-muted);
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 0 0 1rem;
}

.stonehouse-event-meta {
	align-items: center;
	border-top: 1px solid var(--stonehouse-border);
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 0.9rem;
}

.stonehouse-event-meta span,
.stonehouse-event-meta a {
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.35;
}

.stonehouse-event-meta span {
	color: var(--stonehouse-stone);
}

.stonehouse-event-meta a {
	color: var(--stonehouse-forest);
	text-decoration: none;
}

.stonehouse-event-meta a:hover,
.stonehouse-event-meta a:focus {
	color: var(--stonehouse-stone);
}

.stonehouse-calendar-empty {
	background: var(--stonehouse-paper);
	border: 1px solid var(--stonehouse-border);
	border-radius: 8px;
	box-shadow: var(--shadow-sm);
	margin-inline: auto;
	max-width: 760px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

@media (max-width: 980px) {
	.stonehouse-calendar-hero,
	.stonehouse-event-card--featured {
		grid-template-columns: 1fr;
	}

	.stonehouse-event-card--featured .stonehouse-event-media {
		min-height: 18rem;
	}

	.stonehouse-calendar-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.stonehouse-calendar-grid {
		grid-template-columns: 1fr;
	}

	.stonehouse-event-media {
		min-height: 12rem;
	}

	.stonehouse-calendar-actions,
	.stonehouse-event-meta {
		align-items: stretch;
		flex-direction: column;
	}

	.stonehouse-calendar-button,
	.stonehouse-calendar-link {
		text-align: center;
	}
}


/* ===================================================
   NEWS FEED — CATEGORY BADGE
   Used by the "News & Developments Feed" block pattern.
   Shows the post's category as a coloured pill badge
   above the post title.
   =================================================== */

.stonehouse-post-categories {
	display: block;
	line-height: 1;
	margin-bottom: 0.45rem;
}

.stonehouse-post-categories a,
.stonehouse-post-categories .wp-block-post-terms__term {
	background: var(--stonehouse-forest);
	border-radius: 3px;
	color: #ffffff;
	display: inline-block;
	font-family: var(--stonehouse-sans);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-right: 0.25rem;
	padding: 0.2em 0.55em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease;
}

.stonehouse-post-categories a:hover {
	background: var(--stonehouse-forest-dk);
	color: #ffffff;
}

/* Demo notice */

.stonehouse-demo-notice[hidden] {
	display: none;
}

.stonehouse-demo-notice {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: clamp(1rem, 4vw, 2rem);
	position: fixed;
	z-index: 99999;
}

.stonehouse-demo-notice__backdrop {
	background: rgba(28, 41, 45, 0.72);
	backdrop-filter: blur(8px);
	inset: 0;
	position: absolute;
}

.stonehouse-demo-notice__panel {
	background: var(--stonehouse-paper);
	border: 1px solid rgba(75, 101, 80, 0.22);
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(28, 41, 45, 0.28);
	color: var(--stonehouse-slate);
	max-width: 520px;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	position: relative;
	width: min(100%, 520px);
}

.stonehouse-demo-notice__kicker {
	color: var(--stonehouse-forest);
	font-family: var(--stonehouse-sans);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	margin: 0 0 0.85rem;
	text-transform: uppercase;
}

.stonehouse-demo-notice__panel h2 {
	color: var(--stonehouse-slate);
	font-family: var(--stonehouse-display);
	font-size: clamp(2rem, 6vw, 3rem);
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0 0 1rem;
}

.stonehouse-demo-notice__panel p:not(.stonehouse-demo-notice__kicker) {
	color: var(--stonehouse-muted);
	font-family: var(--stonehouse-sans);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0;
}

.stonehouse-demo-notice__button {
	background: var(--stonehouse-forest);
	border: 0;
	border-radius: 4px;
	color: #ffffff;
	cursor: pointer;
	font-family: var(--stonehouse-sans);
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-top: 1.5rem;
	padding: 0.95rem 1.2rem;
	text-transform: uppercase;
	transition: background-color 180ms ease, transform 180ms ease;
	width: 100%;
}

.stonehouse-demo-notice__button:hover,
.stonehouse-demo-notice__button:focus {
	background: var(--stonehouse-forest-dk);
	transform: translateY(-1px);
}

.stonehouse-demo-notice-open {
	overflow: hidden;
}
