/* Greenry Enthusiast — About Us page (page-about-us.php only) */
.ge-about {
	--ge-forest: #13612e;
	--ge-forest-dark: #0c3d1e;
	--ge-forest-light: #1f7a3f;
	--ge-sage: #eaf3ea;
	--ge-terracotta: #c2603c;
	--ge-terracotta-dark: #a8492b;
	--ge-gold: #eea23b;
	--ge-cream: #fbf7ef;
	--ge-ink: #16281c;
	--ge-slate: #55655b;
	--ge-radius: 18px;
	--ge-shadow: 0 10px 30px rgba(19, 97, 46, 0.10);
	--ge-shadow-lg: 0 20px 45px rgba(13, 40, 20, 0.16);
	background: var(--ge-cream);
	color: var(--ge-ink);
	overflow-x: clip;
}
.ge-about * { box-sizing: border-box; }
.ge-wrap { max-width: 1160px; margin: 0 auto; padding: 0 1.5rem; }
.ge-about img { max-width: 100%; display: block; }
.ge-about a { text-decoration: none; }

.ge-a-eyebrow {
	display: inline-block; color: var(--ge-terracotta-dark); font-weight: 700;
	font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .6rem;
}

/* Hero */
.ge-a-hero {
	position: relative; background-size: cover; background-position: center;
	padding: 5rem 0; display: flex; align-items: center; min-height: 380px;
}
.ge-a-hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(120deg, rgba(12,61,30,0.92) 0%, rgba(12,61,30,0.72) 55%, rgba(12,61,30,0.45) 100%);
}
.ge-a-hero__inner { position: relative; z-index: 1; max-width: 640px; text-align: center; margin: 0 auto; }
.ge-a-hero .ge-a-eyebrow { color: var(--ge-gold); }
.ge-a-hero__title { color: #fff; font-size: clamp(2rem, 4vw, 2.9rem); font-weight: 800; margin: 0 0 1rem; letter-spacing: -0.01em; }
.ge-a-hero__lead { color: #eef5ef; font-size: 1.1rem; line-height: 1.6; margin: 0; }

/* Sections */
.ge-a-section { padding: 4.5rem 0; }
.ge-a-section--tint { background: var(--ge-sage); }
.ge-a-section__head { text-align: center; max-width: 620px; margin: 0 auto 2.5rem; }
.ge-a-section__title { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; margin: 0 0 .5rem; color: var(--ge-ink); }
.ge-a-section__title--sm { font-size: 1.3rem; }

/* Founder */
.ge-a-founder { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 3rem; align-items: start; }
.ge-a-founder__photo img {
	border-radius: 50%; aspect-ratio: 1; object-fit: cover; width: 100%; max-width: 320px; margin: 0 auto;
	box-shadow: var(--ge-shadow-lg); border: 6px solid #fff;
}
.ge-a-founder__body p { font-size: 1.05rem; line-height: 1.75; color: #2b3d31; margin: 0 0 1.2rem; }
.ge-a-pullquote {
	position: relative; margin: 1.8rem 0; padding: 1.4rem 1.6rem 1.4rem 3.6rem;
	background: #fff; border-left: 4px solid var(--ge-terracotta); border-radius: 0 14px 14px 0;
	box-shadow: var(--ge-shadow);
}
.ge-a-pullquote__icon { position: absolute; left: 1rem; top: 1.3rem; width: 24px; height: 24px; color: var(--ge-terracotta); }
.ge-a-pullquote p { font-size: 1.12rem; font-style: italic; font-weight: 600; color: var(--ge-forest-dark); margin: 0 !important; }

/* Value cards */
.ge-a-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }
.ge-a-value-card { background: #fff; border: 1px solid #eef2ec; border-radius: var(--ge-radius); padding: 2rem 1.6rem; text-align: center; box-shadow: var(--ge-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.ge-a-value-card:hover { transform: translateY(-5px); box-shadow: var(--ge-shadow-lg); }
.ge-a-value-card__icon {
	display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px;
	background: linear-gradient(135deg, var(--ge-forest-light), var(--ge-forest)); color: #fff; margin-bottom: 1.1rem;
}
.ge-a-value-card__icon svg { width: 28px; height: 28px; }
.ge-a-value-card h3 { font-size: 1.12rem; font-weight: 800; margin: 0 0 .55rem; color: var(--ge-ink); }
.ge-a-value-card p { font-size: .93rem; line-height: 1.6; color: var(--ge-slate); margin: 0; }

/* Team */
/* Single author card: centre it and cap the width rather than letting one card
   stretch across the full two-column grid. */
.ge-a-team { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.ge-a-team:has(> .ge-a-team-card:only-child) { grid-template-columns: minmax(0, 34rem); justify-content: center; }
.ge-a-team-card { background: #fff; border: 1px solid #eef2ec; border-radius: var(--ge-radius); padding: 2rem; text-align: center; box-shadow: var(--ge-shadow); }
.ge-a-team-card img { border-radius: 50%; width: 96px; height: 96px; object-fit: cover; margin: 0 auto 1rem; box-shadow: 0 6px 16px rgba(19,97,46,0.2); }
.ge-a-team-card h3 { font-size: 1.15rem; font-weight: 800; margin: 0 0 .3rem; color: var(--ge-ink); }
.ge-a-team-card__role { display: inline-block; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ge-forest); background: var(--ge-sage); padding: .3rem .8rem; border-radius: 999px; margin-bottom: 1rem; }
.ge-a-team-card p { font-size: .92rem; line-height: 1.65; color: var(--ge-slate); margin: 0 0 .9rem; text-align: left; }
.ge-a-team-card p:last-child { margin-bottom: 0; }

/* Press strip */
.ge-a-press { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2.5rem 3rem; }
.ge-a-press img { max-height: 42px; width: auto; filter: grayscale(1) opacity(0.7); transition: filter .2s ease; }
.ge-a-press a:hover img { filter: grayscale(0) opacity(1); }

/* CTA */
.ge-a-cta {
	background: linear-gradient(120deg, var(--ge-terracotta) 0%, var(--ge-gold) 100%);
	border-radius: 28px; padding: 3rem 2.5rem; text-align: center; box-shadow: var(--ge-shadow-lg);
}
.ge-a-cta h2 { color: #2a1405; font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 800; margin: 0 0 .6rem; }
.ge-a-cta p { color: #3d2107; opacity: .85; margin: 0 0 1.5rem; font-size: 1.02rem; }
.ge-a-cta__btn,
.ge-a-cta__btn:visited { display: inline-flex; align-items: center; gap: .5rem; background: #fff; color: var(--ge-terracotta-dark); padding: .85rem 1.7rem; border-radius: 999px; font-weight: 700; box-shadow: 0 10px 24px rgba(0,0,0,0.15); transition: transform .18s ease; }
.ge-a-cta__btn:hover,
.ge-a-cta__btn:focus,
.ge-a-cta__btn:active { transform: translateY(-2px); color: var(--ge-terracotta-dark); }

/* Responsive */
@media (max-width: 900px) {
	.ge-a-founder { grid-template-columns: 1fr; text-align: center; }
	.ge-a-founder__body p, .ge-a-pullquote { text-align: left; }
	.ge-a-values { grid-template-columns: 1fr; }
	.ge-a-team { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.ge-a-section { padding: 3rem 0; }
	.ge-a-hero { padding: 3.5rem 0; min-height: 0; }
	.ge-a-press { gap: 1.75rem; }
	.ge-a-press img { max-height: 30px; }
}

@media (prefers-color-scheme: dark) {
	.ge-about { --ge-cream: #10241a; --ge-ink: #eaf3ea; --ge-slate: #a9c2ac; }
	.ge-a-value-card, .ge-a-team-card, .ge-a-pullquote { background: #16301f; border-color: #1f3d28; }
	.ge-a-section--tint { background: #0d2016; }
}
