.ctab-wrap {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	background: var(--ctab-bg, #f5f8f5);
	color: var(--ctab-text, #1a1a1a);
	padding: 56px 16px 72px;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.ctab-inner {
	max-width: 1120px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

/* Falling leaves */
.ctab-leaves {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	overflow: hidden;
}
.ctab-leaf {
	position: absolute;
	top: -40px;
	animation: ctab-fall linear infinite;
	filter: drop-shadow(0 2px 2px rgba(0,0,0,0.08));
	will-change: transform;
}
@keyframes ctab-fall {
	0% { transform: translateY(0) rotate(0deg) translateX(0); }
	25% { transform: translateY(25vh) rotate(40deg) translateX(12px); }
	50% { transform: translateY(50vh) rotate(-20deg) translateX(-10px); }
	75% { transform: translateY(75vh) rotate(30deg) translateX(8px); }
	100% { transform: translateY(110vh) rotate(-10deg) translateX(-6px); }
}

/* Hero */
.ctab-hero {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 56px;
}
.ctab-layout-centered .ctab-hero {
	grid-template-columns: 1fr;
	text-align: center;
}
.ctab-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ctab-primary, #0f7a4a);
	margin: 0 0 12px;
}
.ctab-hero-title {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(30px, 4.5vw, 44px);
	font-weight: 700;
	margin: 0 0 14px;
	letter-spacing: -0.025em;
	line-height: 1.15;
}
.ctab-hero-sub {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: var(--ctab-muted, #5a635c);
	max-width: 440px;
}
.ctab-layout-centered .ctab-hero-sub { margin-left: auto; margin-right: auto; }

/* Image boxes – any size, object-fit cover */
.ctab-img-box {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	background: #e4ebe6;
	box-shadow: 0 12px 40px rgba(15, 80, 50, 0.1);
}
.ctab-img-box img {
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: contain;
	object-position: center;
	display: block;
}
.ctab-img-gallery img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: contain;
}
.ctab-img-hero { min-height: 240px; max-height: 560px; }
.ctab-layout-centered .ctab-img-hero { max-height: 420px; }
.ctab-img-story { min-height: 200px; max-height: 480px; }
.ctab-img-why { min-height: 200px; max-height: 480px; }
.ctab-img-gallery { aspect-ratio: 1 / 1; }
.ctab-img-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 120px;
	color: var(--ctab-muted, #5a635c);
	font-size: 13px;
	padding: 16px;
	text-align: center;
}

/* Sections */
.ctab-section { margin-bottom: 56px; }
.ctab-story, .ctab-why {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 36px;
	align-items: center;
}
.ctab-why { grid-template-columns: 1.1fr 1fr; }
.ctab-h2 {
	font-family: 'Poppins', sans-serif;
	font-size: 26px;
	font-weight: 600;
	margin: 0 0 16px;
	letter-spacing: -0.02em;
}
.ctab-h2.ctab-center { text-align: center; margin-bottom: 28px; }
.ctab-h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px;
	color: var(--ctab-primary, #0f7a4a);
}
.ctab-text {
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--ctab-muted, #5a635c);
}
.ctab-text p { margin: 0 0 1em; }
.ctab-text p:last-child { margin-bottom: 0; }

/* Mission vision */
.ctab-mv {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.ctab-card {
	background: #fff;
	border-radius: 18px;
	padding: 28px 24px;
	border: 1px solid #e0e8e2;
	box-shadow: 0 4px 16px rgba(0,0,0,0.03);
}
.ctab-card-icon { font-size: 24px; display: block; margin-bottom: 12px; }
.ctab-card p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ctab-muted, #5a635c);
}

/* Stats */
.ctab-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	background: var(--ctab-primary, #0f7a4a);
	color: #fff;
	border-radius: 20px;
	padding: 32px 20px;
	text-align: center;
}
.ctab-stat-num {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 4px;
}
.ctab-stat-label {
	font-size: 13px;
	opacity: 0.9;
}

/* Values */
.ctab-values-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.ctab-value {
	background: #fff;
	border-radius: 16px;
	padding: 22px 18px;
	border: 1px solid #e0e8e2;
	transition: transform 0.2s, box-shadow 0.2s;
}
.ctab-value:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(15,122,74,0.1);
}
.ctab-value-num {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--ctab-primary, #0f7a4a);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 12px;
}
.ctab-value p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ctab-muted, #5a635c);
}

/* Gallery */
.ctab-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.ctab-gallery-item { margin: 0; }
.ctab-gallery-item figcaption {
	font-size: 12px;
	color: var(--ctab-muted, #5a635c);
	margin-top: 8px;
	text-align: center;
}

/* CTA */
.ctab-cta {
	text-align: center;
	background: linear-gradient(145deg, #fff 0%, #eef5f0 100%);
	border-radius: 24px;
	padding: 48px 24px;
	border: 1px solid #dce8e0;
}
.ctab-cta p {
	margin: 0 auto 22px;
	max-width: 460px;
	color: var(--ctab-muted, #5a635c);
	font-size: 15.5px;
	line-height: 1.65;
}
.ctab-btn {
	display: inline-flex;
	padding: 14px 32px;
	background: var(--ctab-primary, #0f7a4a);
	color: #fff !important;
	font-weight: 600;
	font-size: 14px;
	border-radius: 40px;
	text-decoration: none;
	transition: filter 0.2s, transform 0.2s;
}
.ctab-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-2px);
	color: #fff !important;
}

@media (max-width: 960px) {
	.ctab-hero, .ctab-story, .ctab-why { grid-template-columns: 1fr; }
	.ctab-values-grid, .ctab-gallery-grid, .ctab-stats { grid-template-columns: 1fr 1fr; }
	.ctab-img-hero { max-height: 360px; }
}
@media (max-width: 560px) {
	.ctab-mv, .ctab-values-grid, .ctab-gallery-grid, .ctab-stats { grid-template-columns: 1fr; }
	.ctab-wrap { padding: 36px 12px 48px; }
}
