:root {
	--onlus360-radius-card: 1.375rem;
	--onlus360-shadow-card: 0 18px 50px rgb(23 43 38 / 7%);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: 0.2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--wp--preset--color--coral); outline-offset: 4px; }

.site-header { position: relative; z-index: 10; }
.site-header .wp-block-navigation-item__content { text-decoration: none; }
.site-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--forest); }
.wp-block-button__link { transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgb(23 43 38 / 16%); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--forest); border: 1px solid currentColor; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }

.hero-section { overflow: hidden; }
.hero-section h1 em { color: var(--wp--preset--color--forest); font-weight: 500; }
.hero-illustration img { width: 100%; height: auto; max-height: min(580px, var(--onlus360-viewport-height, 100vh)); border-radius: 2rem; object-fit: contain; }
.eyebrow { margin-bottom: 0.85rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.impact-stats { border-top: 1px solid #e5e9e1; padding-top: var(--wp--preset--spacing--40); }
.activity-card, .news-card { height: 100%; box-sizing: border-box; box-shadow: var(--onlus360-shadow-card); transition: transform 180ms ease, box-shadow 180ms ease; }
.activity-card:hover, .news-card:hover { transform: translateY(-4px); box-shadow: 0 24px 55px rgb(23 43 38 / 12%); }
.activity-card > :first-child { margin-top: 0; }
.activity-card > :last-child { margin-bottom: 0; }
.activity-grid { align-items: stretch; }
.news-card .wp-block-post-featured-image img { width: 100%; object-fit: cover; }
.five-per-thousand { background-image: radial-gradient(ellipse at 90% 10%, rgb(201 232 165 / 18%), transparent 40%); }
.site-footer a { color: inherit; text-decoration-color: rgb(255 255 255 / 40%); }
.site-footer a:hover { color: var(--wp--preset--color--leaf); }
.site-footer .wp-block-navigation__container { align-items: flex-start; }

@media (max-width: 781px) {
	.hero-section .wp-block-columns { gap: 2rem; }
	.hero-illustration img { max-height: 390px; object-fit: cover; }
	.activity-grid .wp-block-column { flex-basis: calc(50% - 0.75rem) !important; }
	.site-footer .wp-block-columns { gap: 2rem; }
}

@media (max-width: 520px) {
	.activity-grid .wp-block-column { flex-basis: 100% !important; }
	.hero-section .wp-block-buttons, .hero-section .wp-block-button { width: 100%; }
	.hero-section .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
	.volunteer-cta .has-text-align-right, .five-per-thousand .has-text-align-right { text-align: left; }
	.volunteer-cta .wp-block-buttons, .five-per-thousand .wp-block-buttons { justify-content: flex-start; }
}

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