/*
Theme Name: GCDA Community 3.9
Theme URI: https://glenbarr.org.uk/
Author: Glenbarr Community Development Association
Description: A clean, accessible WordPress theme for GCDA's public website and integrated Member Centre.
Version: 3.9.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gcda-community
*/

:root {
	--gcda-green-950: #0b332b;
	--gcda-green-900: #0f4035;
	--gcda-green-800: #145b49;
	--gcda-green-700: #18735a;
	--gcda-lime: #c5dc73;
	--gcda-mint: #e9f3ef;
	--gcda-cream: #f7f5ef;
	--gcda-paper: #ffffff;
	--gcda-ink: #172823;
	--gcda-muted: #61716c;
	--gcda-border: #d6e2dd;
	--gcda-shadow: 0 14px 38px rgba(14, 63, 52, .09);
	--gcda-radius: 18px;
	--gcda-width: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: #f8f8f5;
	color: var(--gcda-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.65;
}
img { max-width: 100%; height: auto; }
a { color: var(--gcda-green-700); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--gcda-green-950); }
button, input, textarea, select { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.gcda-container { width: min(calc(100% - 40px), var(--gcda-width)); margin-inline: auto; }

.gcda-topbar { background: var(--gcda-green-900); color: #fff; font-size: 13px; }
.gcda-topbar__inner { display: flex; justify-content: space-between; gap: 20px; padding-block: 9px; }
.gcda-topbar p { margin: 0; }
.gcda-bin-alert { background: #dcebff; color: #082f49; border-bottom: 1px solid #a9ccef; }
.gcda-bin-alert--green { background: #e6f4e8; color: #163d20; border-bottom-color: #aed1b4; }
.gcda-bin-alert__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 11px; }
.gcda-bin-alert p { margin: 0; }
.gcda-bin-alert a { color: inherit; font-size: 14px; font-weight: 800; white-space: nowrap; }
.gcda-site-header { position: relative; z-index: 40; background: #fff; border-bottom: 1px solid rgba(214,226,221,.7); }
.gcda-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 96px; gap: 28px; }
.gcda-brand { display: inline-flex; align-items: center; gap: 15px; color: var(--gcda-green-900); text-decoration: none; }
.gcda-brand .custom-logo { display: block; width: 62px; height: 62px; object-fit: contain; }
.gcda-brand__logo { display: block; width: 62px; height: 62px; object-fit: contain; }
.gcda-brand__text { min-width: 0; }
.gcda-brand__mark { display: grid; place-items: center; width: 68px; height: 68px; flex: 0 0 auto; border: 3px solid var(--gcda-green-800); border-radius: 50%; background: var(--gcda-mint); font-size: 26px; font-weight: 900; }
.gcda-brand__name { display: block; font-size: clamp(22px, 2.5vw, 31px); font-weight: 850; letter-spacing: .08em; line-height: 1; }
.gcda-brand__tag { display: block; margin-top: 8px; color: var(--gcda-muted); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.gcda-nav { display: flex; align-items: center; gap: 6px; }
.gcda-nav ul { display: flex; align-items: center; gap: 3px; margin: 0; padding: 0; list-style: none; }
.gcda-nav a { display: block; padding: 10px 12px; border-radius: 999px; color: var(--gcda-ink); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.gcda-nav a:hover, .gcda-nav a:focus, .gcda-nav .current-menu-item > a { background: var(--gcda-mint); color: var(--gcda-green-900); }
.gcda-nav .gcda-member-link > a { padding-inline: 19px; background: var(--gcda-green-800); color: #fff; }
.gcda-nav .gcda-member-link > a:hover, .gcda-nav .gcda-member-link > a:focus { background: var(--gcda-green-950); color: #fff; }
.gcda-menu-toggle { display: none; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--gcda-border); border-radius: 12px; background: #fff; color: var(--gcda-ink); font-weight: 750; }

.gcda-hero { position: relative; min-height: 540px; overflow: hidden; background: linear-gradient(135deg, rgba(8,47,39,.94), rgba(20,91,73,.74)), var(--gcda-green-800); color: #fff; }
.gcda-hero.has-image { background-position: center; background-size: cover; }
.gcda-hero::after { content: ""; position: absolute; right: -90px; bottom: -170px; width: 510px; height: 510px; border: 90px solid rgba(197,220,115,.08); border-radius: 50%; }
.gcda-hero__inner { position: relative; z-index: 2; display: flex; align-items: flex-end; min-height: 540px; padding-block: 76px; }
.gcda-hero__content { max-width: 860px; }
.gcda-eyebrow { margin: 0 0 16px; color: var(--gcda-lime); font-size: 13px; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.gcda-eyebrow.green { color: var(--gcda-green-700); }
.gcda-hero h1 { max-width: 820px; margin: 0; color: #fff; font-size: clamp(46px, 6.4vw, 76px); line-height: .99; letter-spacing: -.04em; }
.gcda-hero__lead { max-width: 730px; margin: 28px 0 0; color: rgba(255,255,255,.9); font-size: clamp(19px, 2.1vw, 24px); line-height: 1.5; }
.gcda-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.gcda-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 20px; border: 2px solid transparent; border-radius: 10px; background: var(--gcda-lime); color: var(--gcda-green-950); font-size: 15px; font-weight: 850; text-decoration: none; }
.gcda-button:hover, .gcda-button:focus { background: #d8e994; color: var(--gcda-green-950); }
.gcda-button--outline { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.06); color: #fff; }
.gcda-button--outline:hover, .gcda-button--outline:focus { background: #fff; color: var(--gcda-green-950); }

.gcda-main { min-height: 55vh; }
.gcda-section { padding-block: clamp(58px, 7vw, 88px); }
.gcda-section--white { background: #fff; }
.gcda-section--green { background: var(--gcda-green-900); color: #fff; }
.gcda-section__head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.gcda-section__head > div { max-width: 820px; }
.gcda-section h2 { margin: 0; color: var(--gcda-green-950); font-size: clamp(34px, 4.8vw, 58px); line-height: 1.04; letter-spacing: -.035em; }
.gcda-section--green h2 { color: #fff; }
.gcda-section__intro { margin: 20px 0 0; color: var(--gcda-muted); font-size: 19px; }
.gcda-section--green .gcda-section__intro { color: rgba(255,255,255,.8); }

.gcda-value-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: -52px; position: relative; z-index: 5; }
.gcda-value-card { padding: 28px; border: 1px solid var(--gcda-border); border-radius: var(--gcda-radius); background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-value-card__number { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--gcda-mint); color: var(--gcda-green-800); font-weight: 900; }
.gcda-value-card h2 { margin: 20px 0 8px; font-size: 23px; line-height: 1.15; }
.gcda-value-card p { margin: 0; color: var(--gcda-muted); }

.gcda-member-strip { margin-top: 28px; }
.gcda-member-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(28px,4vw,44px); border-radius: 22px; background: var(--gcda-green-950); color: #fff; box-shadow: var(--gcda-shadow); }
.gcda-member-strip h2 { max-width: 780px; margin: 0; color: #fff; font-size: clamp(28px,3.8vw,44px); line-height: 1.08; }
.gcda-member-strip p:last-child { margin-bottom: 0; color: rgba(255,255,255,.78); }

.gcda-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(38px,7vw,90px); align-items: center; }
.gcda-feature-panel { padding: clamp(28px,4vw,48px); border-radius: 24px; background: var(--gcda-cream); }
.gcda-feature-panel blockquote { margin: 0; color: var(--gcda-green-900); font-size: clamp(27px,4vw,43px); font-weight: 850; line-height: 1.14; letter-spacing: -.025em; }
.gcda-feature-panel p { margin: 22px 0 0; color: var(--gcda-muted); }

.gcda-section--gallery { background: var(--gcda-cream); }
.gcda-section__head--compact { margin-bottom: 28px; }
.gcda-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.gcda-photo-card, .gcda-photo-card:visited { position: relative; display: block; min-height: 280px; overflow: hidden; border-radius: var(--gcda-radius); background: var(--gcda-green-900); box-shadow: var(--gcda-shadow); color: #fff !important; text-decoration: none; }
.gcda-photo-card::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent,rgba(5,32,27,.88)); }
.gcda-photo-card img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; transition: transform .3s ease; }
.gcda-photo-card span { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 19px; color: #fff !important; font-size: 17px; font-weight: 850; letter-spacing: .04em; text-shadow: 0 2px 10px rgba(0,0,0,.78); text-transform: uppercase; }
.gcda-photo-card:hover, .gcda-photo-card:focus { color: #fff !important; }
.gcda-photo-card:hover img, .gcda-photo-card:focus img { transform: scale(1.035); }

.gcda-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.gcda-project-card { display: flex; min-height: 390px; flex-direction: column; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: var(--gcda-radius); background: rgba(255,255,255,.07); color: #fff; text-decoration: none; }
.gcda-project-card:hover, .gcda-project-card:focus { border-color: var(--gcda-lime); background: rgba(255,255,255,.11); color: #fff; transform: translateY(-2px); }
.gcda-project-card__image { display: block; height: 180px; overflow: hidden; background: var(--gcda-green-800); }
.gcda-project-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.gcda-project-card:hover .gcda-project-card__image img, .gcda-project-card:focus .gcda-project-card__image img { transform: scale(1.035); }
.gcda-project-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.gcda-project-card__index { color: var(--gcda-lime); font-size: 13px; font-weight: 850; letter-spacing: .13em; }
.gcda-project-card h3 { margin: 16px 0 10px; color: #fff; font-size: 25px; line-height: 1.1; }
.gcda-project-card p { margin: 0; color: rgba(255,255,255,.75); font-size: 15px; }
.gcda-project-card__link { margin-top: auto; padding-top: 20px; color: var(--gcda-lime); font-weight: 800; }
.gcda-button--small { min-height: 44px; padding: 9px 16px; font-size: 14px; }
.gcda-project-actions { margin-top: 24px; }

.gcda-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.gcda-news-card { display: flex; overflow: hidden; flex-direction: column; border: 1px solid var(--gcda-border); border-radius: var(--gcda-radius); background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-news-card__image { aspect-ratio: 16/9; background: linear-gradient(135deg,var(--gcda-mint),#c5dc73); }
.gcda-news-card__image img { width: 100%; height: 100%; object-fit: cover; }
.gcda-news-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.gcda-news-card time { color: var(--gcda-muted); font-size: 13px; }
.gcda-news-card h3 { margin: 10px 0; font-size: 22px; line-height: 1.2; }
.gcda-news-card h3 a { color: var(--gcda-ink); text-decoration: none; }
.gcda-news-card p { color: var(--gcda-muted); font-size: 15px; }
.gcda-news-card__link { margin-top: auto; padding-top: 8px; font-weight: 750; }

.gcda-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(34px,5vw,60px); border-radius: 24px; background: linear-gradient(135deg,var(--gcda-green-950),var(--gcda-green-800)); color: #fff; }
.gcda-cta h2 { color: #fff; }
.gcda-cta p { max-width: 750px; margin-bottom: 0; color: rgba(255,255,255,.8); }

.gcda-page-hero { padding-block: clamp(70px,9vw,120px); background: linear-gradient(135deg,var(--gcda-green-950),var(--gcda-green-800)); color: #fff; }
.gcda-page-hero.has-image { position: relative; background-position: center; background-size: cover; }
.gcda-page-hero.has-image::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg,rgba(7,42,35,.94) 15%,rgba(10,51,43,.77) 58%,rgba(10,51,43,.28)); }
.gcda-page-hero.has-image .gcda-container { position: relative; z-index: 1; }
.gcda-page-hero h1 { max-width: 920px; margin: 0; color: #fff; font-size: clamp(46px,7vw,78px); line-height: 1; letter-spacing: -.04em; }
.gcda-page-hero p { max-width: 760px; margin: 22px 0 0; color: rgba(255,255,255,.82); font-size: 20px; }
.gcda-content-wrap { width: min(calc(100% - 40px), 980px); margin-inline: auto; padding-block: clamp(56px,8vw,100px); }
.gcda-story { font-size: 18px; }
.gcda-story__meta { margin: 0 0 14px; color: var(--gcda-green-700); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gcda-story__lead { margin: 0 0 34px; color: var(--gcda-green-950); font-size: clamp(22px,3vw,30px); line-height: 1.4; }
.gcda-story h2 { margin: 42px 0 12px; color: var(--gcda-green-950); font-size: clamp(28px,4vw,42px); line-height: 1.1; }
.gcda-story__callout { margin: 40px 0; padding: 28px; border-left: 6px solid var(--gcda-lime); border-radius: 0 16px 16px 0; background: var(--gcda-cream); }
.gcda-story__callout h2 { margin-top: 0; }
.gcda-story-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 40px; }
.gcda-story-gallery figure { margin: 0; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-story-gallery figure:first-child { grid-column: 1/-1; }
.gcda-story-gallery img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.gcda-story-gallery figure:first-child img { aspect-ratio: 16/7; }
.gcda-story-gallery figcaption { padding: 13px 16px 16px; color: var(--gcda-muted); font-size: 14px; }
.gcda-story__credit { margin-top: 24px; color: var(--gcda-muted); font-size: 14px; }
.gcda-bin-next { display: grid; grid-template-columns: auto 1fr; gap: 5px 20px; align-items: center; margin-bottom: 36px; padding: 28px; border-radius: 20px; background: #dcebff; color: #082f49; box-shadow: var(--gcda-shadow); }
.gcda-content + .gcda-bin-next { margin-top: 36px; }
.gcda-bin-next--green { background: #e6f4e8; color: #163d20; }
.gcda-bin-next__icon { grid-row: 1/4; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,.72); font-size: 38px; }
.gcda-bin-next p, .gcda-bin-next h2 { margin: 0; color: inherit; }
.gcda-bin-next h2 { font-size: clamp(26px,4vw,38px); line-height: 1.1; }
.gcda-bin-next__status { font-weight: 750; }
.gcda-bin-table-wrap { overflow-x: auto; margin: 32px 0; border: 1px solid var(--gcda-border); border-radius: 16px; background: #fff; }
.gcda-bin-table { width: 100%; border-collapse: collapse; }
.gcda-bin-table th, .gcda-bin-table td { padding: 14px 17px; border-bottom: 1px solid var(--gcda-border); text-align: left; vertical-align: top; }
.gcda-bin-table tr:last-child th, .gcda-bin-table tr:last-child td { border-bottom: 0; }
.gcda-bin-table thead { background: var(--gcda-green-900); color: #fff; }
.gcda-bin-key { display: inline-flex; align-items: center; gap: 8px; margin-right: 18px; font-weight: 750; }
.gcda-bin-key::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: #1670c5; }
.gcda-bin-key--green::before { background: #2d8b45; }
.gcda-useful-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.gcda-useful-links a { display: block; padding: 22px; border: 1px solid var(--gcda-border); border-radius: 15px; background: #fff; color: var(--gcda-green-950); font-weight: 800; text-decoration: none; box-shadow: var(--gcda-shadow); }
.gcda-useful-links a:hover, .gcda-useful-links a:focus { border-color: var(--gcda-green-700); }
.gcda-village-info-section { margin-top: 52px; padding-top: 44px; border-top: 1px solid var(--gcda-border); }
.gcda-village-info-section > .gcda-eyebrow { margin-bottom: 10px; }
.gcda-village-info-section > h2 { margin-top: 0; }
.gcda-village-events > .gcda-eyebrow { margin-bottom: 10px; }
.gcda-village-events > h2 { margin-top: 0; }
.gcda-village-services { margin-top: 28px; }
.gcda-local-event-grid { margin: 28px 0; }
.gcda-local-event-grid .gcda-eyebrow { margin-bottom: 10px; }
.gcda-local-event-grid h3 { margin-top: 0; }
.gcda-content { padding: clamp(28px,5vw,58px); border: 1px solid var(--gcda-border); border-radius: 22px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-content > :first-child { margin-top: 0; }
.gcda-content > :last-child { margin-bottom: 0; }
.gcda-content h2, .gcda-content h3 { color: var(--gcda-green-950); line-height: 1.15; }
.gcda-content h2 { margin-top: 1.8em; font-size: clamp(30px,4vw,46px); }
.gcda-content h3 { margin-top: 1.6em; font-size: 25px; }
.gcda-content table { width: 100%; border-collapse: collapse; }
.gcda-content th, .gcda-content td { padding: 12px; border-bottom: 1px solid var(--gcda-border); text-align: left; }
.gcda-content .alignwide { width: min(1180px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.gcda-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }

.gcda-wide { width: min(calc(100% - 40px), var(--gcda-width)); margin-inline: auto; padding-block: clamp(56px,8vw,96px); }
.gcda-page-intro { max-width: 820px; margin-bottom: 44px; }
.gcda-page-intro h2 { margin: 0; color: var(--gcda-green-950); font-size: clamp(34px,4.6vw,56px); line-height: 1.04; letter-spacing: -.035em; }
.gcda-page-intro p { color: var(--gcda-muted); font-size: 19px; }
.gcda-info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.gcda-info-card { padding: 27px; border: 1px solid var(--gcda-border); border-radius: var(--gcda-radius); background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-info-card h2, .gcda-info-card h3 { margin: 0 0 12px; color: var(--gcda-green-950); font-size: 24px; line-height: 1.15; }
.gcda-info-card p { color: var(--gcda-muted); }
.gcda-info-card p:last-child { margin-bottom: 0; }
.gcda-info-card ul { padding-left: 1.2em; }
.gcda-info-card--image { min-height: 390px; padding: 0; overflow: hidden; }
.gcda-info-card--image img { width: 100%; height: 100%; object-fit: cover; }
.gcda-project-list { display: grid; grid-template-columns: 1fr; gap: 24px; }
.gcda-project-feature { display: grid; grid-template-columns: .78fr 1.22fr; overflow: hidden; border: 1px solid var(--gcda-border); border-radius: 22px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-project-feature:nth-child(even) { grid-template-columns: 1.22fr .78fr; }
.gcda-project-feature:nth-child(even) .gcda-project-feature__image { order: 2; }
.gcda-project-feature__image { min-height: 330px; background: var(--gcda-mint); }
.gcda-project-feature__image img { width: 100%; height: 100%; object-fit: cover; }
.gcda-project-feature__body { padding: clamp(28px,4vw,50px); }
.gcda-project-feature--text,
.gcda-project-feature--text:nth-child(even) { display: block; }
.gcda-project-feature__body h2 { margin: 0 0 15px; color: var(--gcda-green-950); font-size: clamp(30px,4vw,44px); line-height: 1.05; }
.gcda-status { display: inline-flex; margin-bottom: 18px; padding: 5px 10px; border-radius: 999px; background: var(--gcda-mint); color: var(--gcda-green-800); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.gcda-checklist { margin: 20px 0 0; padding: 0; list-style: none; }
.gcda-checklist li { position: relative; padding-left: 27px; }
.gcda-checklist li + li { margin-top: 8px; }
.gcda-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--gcda-green-700); font-weight: 900; }
.gcda-resource-list { display: grid; gap: 14px; margin-top: 22px; }
.gcda-resource-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border: 1px solid var(--gcda-border); border-radius: 12px; background: #fff; color: var(--gcda-ink); font-weight: 750; text-decoration: none; }
.gcda-resource-link:hover { border-color: var(--gcda-green-700); background: var(--gcda-mint); }
.gcda-callout { margin-top: 36px; padding: 28px; border-left: 5px solid var(--gcda-lime); border-radius: 0 16px 16px 0; background: var(--gcda-green-900); color: #fff; }
.gcda-callout h2 { margin: 0 0 8px; color: #fff; font-size: 28px; }
.gcda-callout p { margin: 0; color: rgba(255,255,255,.82); }
.gcda-callout p + p { margin-top: 18px; }

.gcda-breadcrumb { margin: 0 0 28px; font-weight: 800; }
.gcda-breadcrumb a { text-decoration: none; }
.gcda-project-detail__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 24px; align-items: start; }
.gcda-project-detail__main, .gcda-project-detail__side { padding: clamp(28px,4vw,48px); border: 1px solid var(--gcda-border); border-radius: 22px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-project-detail__main h2, .gcda-project-detail__side h2 { margin: 0 0 14px; color: var(--gcda-green-950); font-size: clamp(28px,3.5vw,42px); line-height: 1.08; }
.gcda-project-detail__main p { color: var(--gcda-muted); font-size: 19px; }
.gcda-project-detail__side h2 { font-size: 25px; }
.gcda-project-detail__side h2:not(:first-child) { margin-top: 34px; }

.gcda-project-updated { margin: 0 0 20px; color: var(--gcda-muted); font-size: 14px; font-weight: 750; }
.gcda-project-visual { margin: 30px 0 0; overflow: hidden; border-radius: 16px; background: var(--gcda-mint); }
.gcda-project-visual img { display: block; width: 100%; max-height: 620px; object-fit: contain; }
.gcda-project-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; }
.gcda-project-facts div { padding: 22px; border: 1px solid var(--gcda-border); border-radius: 15px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-project-facts dt { color: var(--gcda-green-700); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.gcda-project-facts dd { margin: 8px 0 0; color: var(--gcda-green-950); font-size: 18px; font-weight: 850; line-height: 1.25; }
.gcda-event-panel { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(250px,.9fr); gap: 24px; margin-top: 36px; padding: 28px; border-radius: 20px; background: var(--gcda-cream); }
.gcda-event-panel h2 { margin-top: 0; color: var(--gcda-green-950); }
.gcda-event-panel img, .gcda-poster-panel img { display: block; width: 100%; border-radius: 14px; }
.gcda-poster-panel { max-width: 820px; margin: 38px auto 0; padding: 18px; border: 1px solid var(--gcda-border); border-radius: 20px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-icon-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 32px; }
.gcda-icon-row article, .gcda-icon-row figure { margin: 0; padding: 22px; border: 1px solid var(--gcda-border); border-radius: 16px; background: #fff; text-align: center; }
.gcda-icon-row img { max-height: 170px; object-fit: contain; }
.gcda-icon-row h3, .gcda-icon-row figcaption { margin-top: 12px; color: var(--gcda-green-950); font-weight: 800; }
.gcda-plan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.gcda-plan-grid article { position: relative; min-height: 390px; overflow: hidden; border-radius: 20px; background: var(--gcda-green-900); box-shadow: var(--gcda-shadow); color: #fff; }
.gcda-plan-grid article::after { content: ""; position: absolute; inset: 20% 0 0; background: linear-gradient(transparent,rgba(6,38,31,.94)); }
.gcda-plan-grid img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.gcda-plan-grid article > span { position: absolute; z-index: 2; top: 20px; left: 20px; padding: 6px 10px; border-radius: 999px; background: rgba(11,51,43,.86); color: #fff; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.gcda-plan-grid article > div { position: absolute; z-index: 2; right: 24px; bottom: 23px; left: 24px; }
.gcda-plan-grid h2 { margin: 0; color: #fff; font-size: 30px; line-height: 1.08; text-shadow: 0 2px 12px rgba(0,0,0,.75); }
.gcda-plan-grid p { margin: 10px 0 0; color: rgba(255,255,255,.9); text-shadow: 0 2px 9px rgba(0,0,0,.8); }
.gcda-resource-library { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.gcda-resource-card { display: flex; min-height: 280px; flex-direction: column; padding: 27px; border: 1px solid var(--gcda-border); border-radius: 18px; background: #fff; box-shadow: var(--gcda-shadow); color: var(--gcda-ink); text-decoration: none; }
.gcda-resource-card:hover, .gcda-resource-card:focus { border-color: var(--gcda-green-700); background: var(--gcda-mint); color: var(--gcda-ink); }
.gcda-resource-card span { color: var(--gcda-green-700); font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.gcda-resource-card h2 { margin: 14px 0 10px; color: var(--gcda-green-950); font-size: 26px; line-height: 1.1; }
.gcda-resource-card p { color: var(--gcda-muted); }
.gcda-resource-card strong { margin-top: auto; color: var(--gcda-green-700); }
.gcda-record-grid, .gcda-news-archive-heading { margin-top: 48px; }
.gcda-project-story { margin-top: 38px; padding: clamp(26px,4vw,46px); border-radius: 22px; background: var(--gcda-cream); }
.gcda-project-story__head { max-width: 820px; margin-bottom: 26px; }
.gcda-project-story__head h2 { margin: 0; color: var(--gcda-green-950); font-size: clamp(32px,4vw,48px); line-height: 1.08; }
.gcda-project-story__head p { color: var(--gcda-muted); font-size: 18px; }
.gcda-project-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.gcda-project-gallery figure { margin: 0; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-project-gallery figure.gcda-project-gallery__wide { grid-column: 1/-1; }
.gcda-project-gallery img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.gcda-project-gallery__wide img { aspect-ratio: 16/7; }
.gcda-project-gallery figcaption { padding: 14px 17px 17px; color: var(--gcda-muted); font-size: 14px; }
.gcda-project-gallery figcaption strong { display: block; margin-bottom: 3px; color: var(--gcda-green-950); font-size: 16px; }
.gcda-project-milestones { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 24px; }
.gcda-project-milestones article { padding: 22px; border-left: 5px solid var(--gcda-lime); border-radius: 0 14px 14px 0; background: #fff; }
.gcda-project-milestones span { color: var(--gcda-green-700); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.gcda-project-milestones h3 { margin: 8px 0; color: var(--gcda-green-950); font-size: 21px; }
.gcda-project-milestones p { margin: 0; color: var(--gcda-muted); font-size: 15px; }

.gcda-empty { padding: 60px 0; text-align: center; }
.gcda-pagination { margin-top: 32px; }
.gcda-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.gcda-pagination a, .gcda-pagination span { padding: 8px 13px; border: 1px solid var(--gcda-border); border-radius: 8px; background: #fff; text-decoration: none; }

.gcda-site-footer { background: var(--gcda-green-950); color: rgba(255,255,255,.78); }
.gcda-footer__top { display: grid; grid-template-columns: 1.25fr repeat(3,1fr); gap: 42px; padding-block: 62px; }
.gcda-footer__simple { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding-block: 48px; }
.gcda-footer__contact { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; }
.gcda-footer__brand { color: #fff; font-size: 26px; font-weight: 850; letter-spacing: .07em; }
.gcda-footer__statement { max-width: 360px; }
.gcda-footer__legal { max-width: 410px; margin: 18px 0 0; font-size: 14px; }
.gcda-footer__address { margin: 0; font-style: normal; line-height: 1.7; }
.gcda-footer__small { margin: 14px 0 0; font-size: 13px; }
.gcda-site-footer h2 { margin: 0 0 15px; color: #fff; font-size: 16px; }
.gcda-site-footer ul { margin: 0; padding: 0; list-style: none; }
.gcda-site-footer li + li { margin-top: 8px; }
.gcda-site-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.gcda-site-footer a:hover, .gcda-site-footer a:focus { color: var(--gcda-lime); }
.gcda-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.13); font-size: 13px; }
.gcda-footer__bottom-links { display: flex; flex-wrap: wrap; gap: 18px; }

.gcda-privacy-section h2 { margin-top: 38px; }
.gcda-privacy-section h3 { margin-top: 26px; }
.gcda-privacy-summary { margin: 26px 0 38px; padding: 24px; border-left: 6px solid var(--gcda-lime); border-radius: 0 14px 14px 0; background: var(--gcda-mint); }
.gcda-privacy-table { width: 100%; border-collapse: collapse; margin: 22px 0 34px; }
.gcda-privacy-table th, .gcda-privacy-table td { padding: 14px; border: 1px solid var(--gcda-border); text-align: left; vertical-align: top; }
.gcda-privacy-table th { background: var(--gcda-mint); color: var(--gcda-green-950); }

body .gcda-portal, body .gcda-access-message { width: min(calc(100% - 40px), var(--gcda-width)); max-width: var(--gcda-width); }
body .gcda-login { margin-block: 55px; }
.gcda-members-wrap { min-height: 60vh; padding-block: 18px 70px; }
.gcda-members-wrap > .gcda-login { width: min(calc(100% - 40px), 620px); }
.gcda-plugin-required { border-top: 6px solid var(--gcda-lime); }

/* Hide front-end-only licence warnings shown to logged-in administrators by the old Facebook feed widget. */
.cff-admin-error,
.cff-error-msg,
.cff-license-error,
.cff-license-notice,
#cff-admin-error,
#cff-admin-notice,
body:not(.wp-admin) [class*="cff-"][class*="license"],
body:not(.wp-admin) [class*="cff-"][class*="notice"],
body:not(.wp-admin) [id*="cff-"][class*="notice"] { display: none !important; }

@media (max-width: 1040px) and (min-width: 761px) {
	.gcda-brand__tag { display: none; }
	.gcda-brand__name { font-size: 21px; }
	.gcda-brand .custom-logo, .gcda-brand__logo { width: 54px; height: 54px; }
	.gcda-header__inner { gap: 18px; }
	.gcda-nav a { padding: 9px 8px; font-size: 13px; }
	.gcda-nav .gcda-member-link > a { padding-inline: 13px; }
}

@media (max-width: 760px) {
	.gcda-menu-toggle { display: inline-flex; }
	.gcda-nav { position: absolute; top: 100%; left: 20px; right: 20px; display: none; padding: 14px; border: 1px solid var(--gcda-border); border-radius: 14px; background: #fff; box-shadow: var(--gcda-shadow); }
	.gcda-nav.is-open { display: block; }
	.gcda-nav ul { align-items: stretch; flex-direction: column; }
	.gcda-nav a { padding: 12px 14px; }
	.gcda-value-grid, .gcda-project-grid, .gcda-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gcda-photo-grid { grid-template-columns: 1fr; }
	.gcda-photo-card, .gcda-photo-card img { min-height: 230px; }
	.gcda-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gcda-project-feature, .gcda-project-feature:nth-child(even) { grid-template-columns: 1fr; }
	.gcda-project-feature:nth-child(even) .gcda-project-feature__image { order: 0; }
	.gcda-project-detail__grid { grid-template-columns: 1fr; }
	.gcda-project-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gcda-resource-library { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gcda-split { grid-template-columns: 1fr; }
	.gcda-footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
	.gcda-footer__about { grid-column: 1/-1; }
}

@media (max-width: 980px) {
	.gcda-footer__top { grid-template-columns: 1fr 1fr; }
	.gcda-footer__about { grid-column: 1/-1; }
}

@media (max-width: 680px) {
	.gcda-container { width: min(calc(100% - 28px), var(--gcda-width)); }
	.gcda-topbar__inner { justify-content: center; text-align: center; }
	.gcda-bin-alert__inner { align-items: flex-start; flex-direction: column; gap: 4px; }
	.gcda-topbar__inner p:last-child { display: none; }
	.gcda-header__inner { min-height: 86px; }
	.gcda-brand__mark { width: 54px; height: 54px; }
	.gcda-brand__logo { width: 54px; height: 54px; }
	.gcda-brand__name { font-size: 20px; }
	.gcda-brand__tag { display: none; }
	.gcda-hero, .gcda-hero__inner { min-height: 510px; }
	.gcda-hero__inner { padding-block: 66px 96px; }
	.gcda-value-grid { grid-template-columns: 1fr; margin-top: -58px; }
	.gcda-section__head, .gcda-cta { align-items: flex-start; flex-direction: column; }
	.gcda-member-strip__inner { align-items: flex-start; flex-direction: column; }
	.gcda-project-grid, .gcda-news-grid { grid-template-columns: 1fr; }
	.gcda-info-grid { grid-template-columns: 1fr; }
	.gcda-project-list { grid-template-columns: 1fr; }
	.gcda-project-card { min-height: 370px; }
	.gcda-project-facts, .gcda-event-panel, .gcda-icon-row, .gcda-plan-grid, .gcda-resource-library { grid-template-columns: 1fr; }
	.gcda-project-gallery, .gcda-project-milestones { grid-template-columns: 1fr; }
	.gcda-story-gallery { grid-template-columns: 1fr; }
	.gcda-useful-links { grid-template-columns: 1fr; }
	.gcda-story-gallery figure:first-child { grid-column: auto; }
	.gcda-story-gallery figure:first-child img { aspect-ratio: 16/10; }
	.gcda-project-gallery figure.gcda-project-gallery__wide { grid-column: auto; }
	.gcda-project-gallery__wide img { aspect-ratio: 16/10; }
	.gcda-content-wrap { width: min(calc(100% - 28px),980px); }
	.gcda-content { padding: 25px 20px; border-radius: 16px; }
	.gcda-footer__top { grid-template-columns: 1fr; }
	.gcda-footer__about { grid-column: 1/-1; }
	.gcda-footer__simple { align-items: flex-start; flex-direction: column; }
	.gcda-footer__contact { align-items: flex-start; }
	.gcda-footer__bottom { align-items: flex-start; flex-direction: column; }
	.gcda-privacy-table { display: block; overflow-x: auto; }
}

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

.gcda-library-details { margin-top: 42px; border: 1px solid var(--gcda-border); border-radius: var(--gcda-radius); background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-library-details > summary { cursor: pointer; padding: 22px 26px; color: var(--gcda-green-900); font-size: 20px; font-weight: 850; }
.gcda-library-details[open] > summary { border-bottom: 1px solid var(--gcda-border); }
.gcda-library-details .gcda-content { max-width: none; margin: 0; padding: 28px; box-shadow: none; border: 0; }
.gcda-contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 42px; padding: clamp(28px,4vw,44px); border-radius: var(--gcda-radius); background: var(--gcda-green-950); color: #fff; box-shadow: var(--gcda-shadow); }
.gcda-contact-cta h2 { margin: 0; color: #fff; font-size: clamp(30px,4vw,46px); line-height: 1.08; }
.gcda-contact-cta p:last-child { margin-bottom: 0; color: rgba(255,255,255,.82); }
.gcda-archive-note { margin: 0 0 28px; padding: 20px 22px; border-left: 5px solid var(--gcda-lime); border-radius: 8px; background: var(--gcda-mint); }
.gcda-archive-note strong { color: var(--gcda-green-900); }
.gcda-archive-note p { margin: 6px 0 0; }
.gcda-events-list { margin-top: 32px; }
.gcda-events-list .gcda-news-card h2 { margin: 0; font-size: 26px; line-height: 1.15; }
@media (max-width: 760px) { .gcda-contact-cta { align-items: flex-start; flex-direction: column; } }

.gcda-people-section + .gcda-people-section { padding-top: 0; }
.gcda-people-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 32px; }
.gcda-person-card { display: flex; align-items: center; gap: 18px; min-height: 132px; padding: 24px; border: 1px solid var(--gcda-border); border-radius: var(--gcda-radius); background: #fff; box-shadow: var(--gcda-shadow); }
.gcda-person-card__initials { display: grid; place-items: center; width: 62px; height: 62px; flex: 0 0 62px; border-radius: 50%; background: var(--gcda-green-900); color: #fff; font-size: 19px; font-weight: 900; letter-spacing: .04em; }
.gcda-person-card h2 { margin: 0 0 7px; color: var(--gcda-green-950); font-size: 22px; line-height: 1.15; }
.gcda-person-card p { margin: 0; color: var(--gcda-muted); font-weight: 700; }
.gcda-person-card--team { border-top: 6px solid var(--gcda-lime); }
@media (max-width: 920px) { .gcda-people-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .gcda-people-grid { grid-template-columns: 1fr; } }

/* Keep the connected document archive inside the page on narrow screens. */
.gcda-library-details, .gcda-library-details .gcda-content { min-width:0; max-width:100%; }
.gcda-library-details .gcda-content .alignfull { width:100%; max-width:100%; margin-left:0; margin-right:0; }
.gcda-library-details .gcda-content { overflow-wrap:anywhere; }

/* Spectra full-width blocks also apply a horizontal transform on phones. */
.gcda-library-details .gcda-content .alignfull { left:auto!important; right:auto!important; transform:none!important; width:100%!important; max-width:100%!important; margin-left:0!important; margin-right:0!important; }
.gcda-library-details .uagb-block-7154df4d { background:none!important; min-height:0!important; padding:24px 16px!important; }
.gcda-library-details .uagb-block-7154df4d::before { background:none!important; }
.gcda-library-details .uagb-block-7154df4d h2 { color:#124c3f; font-size:clamp(1.4rem,4vw,2rem); line-height:1.25; }
@media(max-width:767px) { .gcda-library-details .uagb-container-inner-blocks-wrap { flex-direction:column!important; } .gcda-library-details .wp-block-uagb-container { min-width:0; } }
