:root {
	--blue: #2448ff;
	--blue-dark: #07146b;
	--purple: #721ed8;
	--gold: #ffc107;
	--text: #19223f;
	--muted: #667085;
	--light: #f4f7ff;
	--border: #dce3ff;
	--shadow: 0 18px 45px rgba(36, 72, 255, .14);
	--radius: 18px
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0
}

body {
	font-family: Inter, Arial, sans-serif;
	color: var(--text);
	line-height: 1.7;
	background: #fff
}

a {
	text-decoration: none;
	color: inherit
}

.container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 22px
}

.topbar {
	background: var(--blue-dark);
	color: white;
	font-size: 14px
}

.topbar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 9px 22px
}

.top-left,
.top-social {
	display: flex;
	gap: 18px;
	flex-wrap: wrap
}

.main-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: white;
	box-shadow: 0 8px 28px rgba(7, 20, 107, .08)
}

.nav-wrap {
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: space-between
}

.brand img {
	height: 65px;
	max-width: 430px;
	object-fit: contain;
	display: block
}

.nav-menu {
	display: flex;
	list-style: none;
	align-items: center;
	gap: 2px
}

.nav-menu li {
	position: relative
}

.nav-menu a {
	display: block;
	padding: 14px 13px;
	font-size: 14px;
	font-weight: 800;
	color: var(--blue-dark);
	text-transform: uppercase
}

.nav-menu a:hover {
	color: var(--blue)
}

.donate-btn {
	background: var(--blue) !important;
	color: white !important;
	border-radius: 4px;
	margin-left: 8px;
	padding: 13px 18px !important
}

.has-drop ul {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 180px;
	background: white;
	list-style: none;
	box-shadow: var(--shadow);
	border-top: 3px solid var(--blue);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: .25s
}

.has-drop:hover ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0)
}

.has-drop ul a {
	padding: 12px 18px;
	text-transform: none
}

.menu-toggle {
	display: none;
	background: none;
	border: 0
}

.menu-toggle span {
	display: block;
	width: 28px;
	height: 3px;
	background: var(--blue);
	margin: 5px;
	border-radius: 4px
}




.btn {
	display: inline-block;
	margin: 30px 12px 0 0;
	padding: 15px 28px;
	border-radius: 4px;
	font-weight: 900;
	text-transform: uppercase;
	font-size: 14px
}

.btn.primary,
.btn.blue {
	background: var(--blue);
	color: white
}

.btn.secondary {
	border: 2px solid white;
	color: white
}



.info-cards {
	margin-top: -70px;
	position: relative;
	z-index: 10
}

.info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px
}

.info-grid div {
	background: white;
	border-radius: 6px;
	padding: 30px;
	box-shadow: var(--shadow);
	border-bottom: 4px solid var(--blue)
}

.info-grid span,
.contribute-grid span {
	font-size: 42px;
	font-weight: 900;
	color: rgba(36, 72, 255, .16)
}

.info-grid h3 {
	font-size: 22px;
	color: var(--blue-dark);
	margin-top: -15px
}

.info-grid p {
	color: var(--muted)
}

.section {
	padding: 95px 0
}

.section-head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 48px
}

.section-head h2,
.who h2 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.15;
	color: var(--blue-dark);
	margin: 10px 0 16px
}

.section-head p,
.who p {
	color: var(--muted);
	font-size: 18px
}

.who-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 55px;
	align-items: center
}

.who-img {
	position: relative
}

.who-img img {
	width: 100%;
	border-radius: 6px;
	box-shadow: var(--shadow);
	background: white
}

.experience {
	position: absolute;
	right: -20px;
	bottom: 30px;
	background: var(--blue);
	color: white;
	padding: 22px 28px;
	border-radius: 6px;
	font-weight: 900;
	text-align: center
}

.tabs {
	display: flex;
	gap: 8px;
	margin: 24px 0 15px;
	flex-wrap: wrap
}

.tab {
	border: 0;
	background: #eef2ff;
	color: var(--blue-dark);
	font-weight: 900;
	padding: 12px 18px;
	border-radius: 4px;
	cursor: pointer
}

.tab.active {
	background: var(--blue);
	color: white
}

.tab-content {
	display: none;
	background: #f8faff;
	border-left: 4px solid var(--blue);
	padding: 20px;
	margin-bottom: 8px
}

.tab-content.active {
	display: block
}

.causes {
	background: #f7f9ff
}

.cause-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px
}

.cause-card {
	background: white;
	border-radius: 6px;
	box-shadow: var(--shadow);
	overflow: hidden
}

.cause-img {
	height: 210px;
	background: linear-gradient(135deg, #2448ff, #721ed8);
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 30px;
	font-weight: 900
}

.cause-card h3 {
	font-size: 23px;
	color: var(--blue-dark);
	padding: 22px 22px 8px
}

.cause-card p {
	padding: 0 22px;
	color: var(--muted)
}

.cause-card a {
	display: inline-block;
	margin: 20px 22px 24px;
	color: var(--blue);
	font-weight: 900
}

.progress {
	height: 7px;
	background: #e6ebff
}

.progress span {
	display: block;
	height: 100%;
	background: var(--gold)
}

.contribute {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue), var(--purple));
	color: white
}

.light h2,
.light p {
	color: white
}

.contribute-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px
}

.contribute-grid div {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 6px;
	padding: 28px
}

.contribute-grid h3 {
	font-size: 22px
}

.contribute-grid p {
	color: rgba(255, 255, 255, .78)
}

.plain div {
	background: white;
	border: 1px solid var(--border);
	box-shadow: var(--shadow);
	color: var(--text)
}

.plain p {
	color: var(--muted)
}

.volunteer {
	background: var(--gold);
	padding: 55px 0
}

.volunteer-inner {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	align-items: center
}

.volunteer h2 {
	font-family: 'Playfair Display', serif;
	font-size: 42px;
	color: #111
}

.event-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px
}

.event-large {
	min-height: 410px;
	background: linear-gradient(135deg, #07146b, #2448ff);
	color: white;
	padding: 40px;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	justify-content: end
}

.event-large h3 {
	font-size: 32px
}

.event-list {
	display: grid;
	gap: 18px
}

.event-list article {
	display: flex;
	gap: 18px;
	align-items: center;
	background: white;
	padding: 18px;
	border-radius: 6px;
	box-shadow: var(--shadow)
}

.date {
	width: 70px;
	height: 70px;
	background: var(--blue);
	color: white;
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 4px;
	line-height: 1.2
}

.event-list h4 {
	font-size: 20px;
	color: var(--blue-dark)
}

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px
}

.blog-grid article {
	background: white;
	box-shadow: var(--shadow);
	border-radius: 6px;
	overflow: hidden
}

.blog-img {
	height: 190px;
	background: linear-gradient(135deg, #2448ff, #721ed8);
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	font-size: 28px
}

.blog-grid span {
	display: inline-block;
	margin: 22px 22px 5px;
	color: var(--blue);
	font-weight: 900
}

.blog-grid h3 {
	padding: 0 22px;
	font-size: 22px;
	color: var(--blue-dark)
}

.blog-grid p {
	padding: 8px 22px;
	color: var(--muted)
}

.blog-grid a {
	display: inline-block;
	margin: 12px 22px 25px;
	color: var(--blue);
	font-weight: 900
}

.page-hero {
	background: linear-gradient(135deg, #eef2ff, #fff);
	text-align: center;
	padding: 90px 0
}

.page-hero h1 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(42px, 6vw, 70px);
	color: var(--blue-dark)
}

.page-hero p {
	font-size: 20px;
	color: var(--muted)
}

.content .container {
	max-width: 900px
}

.content p {
	font-size: 18px;
	color: var(--muted);
	margin-bottom: 20px
}

.content h2 {
	font-size: 36px;
	color: var(--blue-dark);
	margin: 35px 0 12px
}

.content blockquote {
	font-family: 'Playfair Display', serif;
	font-size: 34px;
	color: var(--blue-dark);
	border-left: 5px solid var(--blue);
	padding-left: 20px
}

.gallery-choice,
.photo-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px
}

.gallery-choice a,
.photo-grid div {
	min-height: 220px;
	background: linear-gradient(135deg, #eef2ff, #fff);
	border: 1px solid var(--border);
	box-shadow: var(--shadow);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--blue);
	font-size: 26px;
	font-weight: 900
}

.photo-grid {
	grid-template-columns: repeat(3, 1fr)
}

.contact-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 40px
}

.contact-box {
	background: #eef2ff;
	padding: 24px;
	border-radius: 6px;
	margin-top: 20px
}

.contact-form {
	display: grid;
	gap: 15px;
	background: white;
	box-shadow: var(--shadow);
	padding: 30px;
	border-radius: 6px
}

.contact-form input,
.contact-form textarea {
	padding: 15px;
	border: 1px solid var(--border);
	font: inherit
}

.contact-form textarea {
	min-height: 140px
}

.contact-form button,
.newsletter button {
	background: var(--blue);
	color: white;
	border: 0;
	padding: 14px 20px;
	font-weight: 900;
	cursor: pointer
}

.footer {
	background: #050b3d;
	color: rgba(255, 255, 255, .78);
	padding-top: 70px
}

.footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1.4fr 1.4fr;
	gap: 34px
}

.footer-logo {
	max-width: 330px;
	background: white;
	border-radius: 4px;
	margin-bottom: 18px
}

.footer h3 {
	color: white;
	margin-bottom: 14px
}

.footer a {
	display: block;
	margin: 8px 0
}

.footer-social {
	display: flex;
	gap: 14px
}

.newsletter {
	display: flex;
	margin-top: 15px
}

.newsletter input {
	min-width: 0;
	padding: 12px;
	border: 0
}

.copyright {
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding: 22px;
	margin-top: 45px
}

.top-btn {
	position: fixed;
	right: 22px;
	bottom: 22px;
	width: 44px;
	height: 44px;
	background: var(--blue);
	color: white;
	border: 0;
	display: none
}

.top-btn.show {
	display: block
}

@media(max-width:980px) {
	.menu-toggle {
		display: block
	}

	.nav-menu {
		position: absolute;
		top: 88px;
		left: 18px;
		right: 18px;
		background: white;
		box-shadow: var(--shadow);
		display: none;
		flex-direction: column;
		align-items: stretch;
		padding: 15px
	}

	.nav-menu.open {
		display: flex
	}

	.has-drop ul {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none
	}

	.info-grid,
	.who-grid,
	.cause-grid,
	.contribute-grid,
	.event-grid,
	.blog-grid,
	.contact-grid,
	.footer-grid,
	.photo-grid {
		grid-template-columns: 1fr 1fr
	}

	.brand img {
		height: 52px;
		max-width: 310px
	}

	.volunteer-inner {
		flex-direction: column;
		text-align: center
	}
}

@media(max-width:620px) {

	.topbar-inner,
	.top-left,
	.top-social {
		justify-content: center
	}

	.info-grid,
	.who-grid,
	.cause-grid,
	.contribute-grid,
	.event-grid,
	.blog-grid,
	.contact-grid,
	.footer-grid,
	.gallery-choice,
	.photo-grid {
		grid-template-columns: 1fr
	}

	.brand img {
		height: 42px;
		max-width: 245px
	}



	.arrow {
		display: none
	}

	.section {
		padding: 70px 0
	}

	.info-cards {
		margin-top: 0
	}

	.volunteer h2 {
		font-size: 32px
	}
}