:root {
	--navy: #0b2a4a;
	--navy2: #0a1b36;
	--darknavy: #1a1406; /*dark navy*/
	--gold: #f3c43b;
	--white: #ffffff;
	--offwhite: #f8f9fb;
	--ink: #0d1321;
	--goldBorder: #f5c542;
	--border: rgba(11, 35, 71, .14);
	--radius: 14px;
	--shadow: 0 14px 40px rgba(0, 0, 0, .18);
	--header-h: 76px;
	--max: 1160px; 
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

html, body {
	max-width: 100%;
	overflow-x: hidden;
}

body { 
	margin: 0;
	background: var(--white);
	color: var(--ink); 
	min-height: 100%;
} 

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Skip link shows on keyboard focus */
.skip-link { 
	padding: 10px 12px; 
	background: var(--white); 
	border: 1px solid var(--border);
	border-radius: 12px;
	position: absolute;
	left: -999px;
	top: 10px;
	z-index: 2000;
}

.skip-link:focus {
	left: 10px;
}

/* HEADER */
.site-header {
	background: var(--white);
	position: sticky;
	top: 0;
	border-bottom: 1px solid rgba(11, 35, 71, .08);
	z-index: 1000;
}

.nav {
	margin: 0 auto;
	padding: 0 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	height: var(--header-h);
	max-width: var(--max);
}

.nav_logo {
	display: flex;
	align-items: center;
	min-width: 160px;
}

.nav_logo img {
	height: 124px; /* IMPORTANT: keeps header clean */
	width: auto;
	object-fit: contain;
}

.nav_toggle {
	background: rgba(11, 35, 71, .04);
	border-radius: 12px;
	border: 1px solid var(--border);
	display: none;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	cursor: pointer;
}

/* hamburger icon */ 
.burger { 
	display: inline-block; 
	position: relative; 
	width: 20px; 
	height: 14px; 
}

.burger span { 
	background: var(--navy);
	border-radius: 99px;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	transition: transform .18s ease, top .18s ease, opacity .18s ease; 
}

.burger span:nth-child(1) {
	top: 0;
}

.burger span:nth-child(2) {
	top: 6px;
} 

.burger span:nth-child(3) {
	top: 12px;
}

/* animate to X when open */ 
body.menu-open .burger span:nth-child(1) {
	top: 6px; 
	transform: rotate(45deg); 
} 

body.menu-open .burger span:nth-child(2) { 
	opacity: 0; 
} 

body.menu-open .burger span:nth-child(3) { 
	top: 6px; 
	transform: rotate(-45deg); 
}

.nav_menu {
	display: flex;
	align-items: center;
	gap: 18px;
}

.nav_menu-top {
	display: none;
}

.nav_links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 18px;
}

/* desktop link + gold underline hover */
.nav_link {
	padding: 10px 10px;
	color: rgba(11, 35, 71, .92); 
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: .2px;
	border-radius: 10px;
	position: relative;
	transition: transform .12s ease, color .12s ease;
}

.nav_link::after {
	background: var(--gold);
	border-radius: 99px;
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 6px;
	height: 2px;
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .16s ease; 
	opacity: .95;
}

.nav_link:hover {
	color: var(--navy);
	transform: translateY(-1px);
}

.nav_link:hover::after {
	transform: scaleX(1);
}

/* donate button */
.nav_donate {
	margin-left: 12px; /* separation from links */
	padding: 10px 16px;
	background: var(--gold);
	color: var(--white);
	font-weight: 900;
	font-size: 1.05rem;
	letter-spacing: .2px;
	border-radius: 999px;
	box-shadow: 0 10px 22px rgba(0, 0, 0, .16);
	transition: transform .12s ease, filter .12s ease;
}

.nav_donate:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
}

/*desktop social block*/
.nav_social {
	display: none;
}

/* overlay */ 
.menu-overlay { 
	background: rgba(0, 0, 0, .55); 
	position: fixed; 
	inset: 0; 
	opacity: 0; 
	transition: opacity .18s ease; 
	z-index: 999; 
}

/*menu overlay*/
body.menu-open {
	overflow: hidden;
}

body.menu-open .menu-overlay {
	opacity: 1;
}

@media (max-width: 860px) {
	.nav_toggle {
		display: flex;
	}
	.nav_menu {
		padding: 18px 16px;
		background: var(--white);
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		height: 100dvh;
		width: 100vw;
		inset: 0;
		transform: translateX(100%);
		transition: transform .28s cubic-bezier(.4, 0, .2, 1);
		z-index: 1000;
	}
	body.menu-open .nav_menu {
		transform: translateX(0);
	}
	.nav_menu-top {
		padding-bottom: 14px;
		border-bottom: 1px solid var(--border);
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}
	.nav_menu-title {
		margin: 0;
		color: var(--navy);
		font-weight: 900;
		letter-spacing: .02em;
	}
	.nav_close {
		background: rgba(11, 35, 71, .04);
		color: var(--navy);
		font-size: 18px;
		line-height: 1;
		border: 1px solid var(--border);
		border-radius: 12px;
		width: 44px;
		height: 44px;
		cursor: pointer;
	}
	.nav_links {
		padding: 6px 0 0;
		display: grid;
		gap: 10px;
	}
	.nav_link {
		padding: 14px 14px;
		background: rgba(11, 35, 71, .04);
		font-size: 1.1rem;
		border: 1px solid rgba(11, 35, 71, .10);
		border-radius: 14px;
		display: block;
		transform: none;
	}
	.nav_link::after {
		display: none;
	}
	.nav_donate {
		margin-left: 0;
		padding: 14px 18px;
		display: inline-flex;
		justify-content: center;
		width: 100%;
	}
	.nav_menu .nav_social {
		margin-top: auto;
		padding-top: 14px;
		border-top: 1px solid var(--border);
		display: block !important;
	}
	.nav_social-label {
		margin: 0 0 10px;
		color: rgba(11, 35, 71, .65);
		font-weight: 800;
		letter-spacing: .4px;
	}
	.nav_menu .nav_social-links {
		display: flex !important;
		flex-wrap: wrap;
		gap: 10px 14px;
	}
	.nav_social-links a {
		color: var(--navy);
		text-decoration: underline;
		text-decoration-color: rgba(11, 35, 71, .35);
		text-underline-offset: 4px;
		font-weight: 800;
	}
}

/*ABOUT/BIO*/
.about-section {
	padding: 4rem 1rem;
	background-color: var(--navy);
}

.about-inner {
	margin: 0 auto;
	display: grid;
	grid-template-columns: 420px 1fr;
	gap: 2.5rem;
	align-items: center;
	width: min(1100px, 90%);
}

.about-photo {
	background: rgba(11, 42, 74, 0.08);
	border-radius: 18px;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.about-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-title {
	margin-bottom: 1rem;
	color: var(--white);
	font-size: clamp(1.8rem, 3.4vw, 2.4rem);
}

.about-text {
	margin-bottom: 1rem;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.7;
	max-width: 62ch;
}

.about-btn {
	margin-top: 0.75rem;
	padding: 0.9rem 1.2rem;
	background: var(--navy); /* navy */
	color: var(--white);
	text-decoration: none;
	font-weight: 700;
	border-radius: 10px;
	border: 2px solid #f5c542; /* gold outline */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 140ms ease, opacity 140ms ease; 
}

.about-btn:hover {
	transform: translateY(-1px);
	opacity: 0.95;
} 

/*SIGNUP SECTION*/
.signup-section { 
	padding: 5rem 1rem; 
	background: var(--white);
} 

.signup-inner { 
	margin: 0 auto; 
	color: var(--navy); 
	text-align: left; 
	max-width: var(--max); 
	width: min(var(--max), 90%); 
} 

/*50/50 layout*/ 
.signup-grid { 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 4rem; 
	align-items: center; 
} 

/* LEFT: FORM */ 
.signup-left { 
	max-width: none; 
} 

.signup-name { 
	margin: 0 0 0.35rem; 
	color: var(--navy); 
	font-size: 1.35rem; 
	font-weight: 900; 
} 

.signup-kicker { 
	margin: 0 0 2rem; 
	color: rgba(11, 35, 71, 0.70); 
	text-transform: uppercase; 
	font-size: 1rem; 
	font-weight: 600; 
	letter-spacing: 0.06em; 
} 

/* Inputs (uniform + clean) */ 
.signup-form-large input { 
	padding: 1.05rem 1.15rem; 
	background: var(--white); 
	color: var(--ink); 
	font-size: 1.05rem; 
	border-radius: 12px; 
	border: 1px solid rgba(11, 35, 71, 0.25); 
	width: 100%; 
} 

.signup-form-large input:focus { 
	outline: 2px solid var(--goldBorder); 
	outline-offset: 2px; 
} 

#mc_embed_signup_scroll { 
	display: grid; 
	gap: 1.35rem; 
} 

#mc_embed_signup_scroll input[type="text"], 
#mc_embed_signup_scroll input[type="email"], 
#mc_embed_signup_scroll input[type="tel"], 
#mc_embed_signup_scroll input[type="number"] { 
	padding: 1.05rem 1.15rem; 
	background: var(--white); 
	color: var(--ink); 
	font-size: 1.05rem; 
	border-radius: 12px; 
	border: 1px solid rgba(11, 35, 71, 0.25); 
	width: 100%; 
	display: block; 
} 

#mc_embed_signup_scroll input:focus { 
	outline: 2px solid var(--goldBorder); 
	outline-offset: 2px; 
} 

/* First/Last name row spacing */ 
.signup-row { 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 1.35rem; 
} 

/* Screen-reader only labels */ 
.sr-only { 
	margin: -1px; 
	padding: 0; 
	border: 0; 
	position: absolute; 
	width: 1px; 
	height: 1px; 
	overflow: hidden; 
	clip: rect(0, 0, 0, 0); 
	white-space: nowrap; 
} 

/* SMS phone wrapper – styled like an input */ 
.smsphone-wrap { 
	background: var(--white); 
	border: 1px solid rgba(11, 35, 71, 0.25); 
	border-radius: 12px; 
	display: flex; 
	overflow: hidden; 
} 

.smsphone-flag { 
	padding: 0 10px; 
	border-right: 1px solid rgba(11, 35, 71, 0.12); 
	display: flex; 
	align-items: center; 
	gap: 6px; 
	position: relative; 
	cursor: pointer; 
} 

.smsphone { 
	margin: 0; 
	padding: 0; 
	background: transparent; 
	font-size: 0; 
	border: none; 
	position: absolute; 
	inset: 0; 
	opacity: 0; 
	cursor: pointer; 
} 

/* override your inline padding/border on sms input */ 
.smsphone-input { 
	padding: 1.05rem 1.15rem !important; 
	background: transparent; 
	font-size: 1.05rem; 
	border: none !important; 
	flex: 1; 
} 

.smsphone-input:focus { 
	outline: none; 
} 

/* Checkbox + legal */ 
.signup-checkbox { 
	margin-top: 0.35rem; 
	color: rgba(11, 42, 74, 0.85); 
	font-size: 0.85rem; 
	line-height: 1.35; 
	display: grid; 
	grid-template-columns: 18px 1fr; 
	align-items: start; 
	justify-content: flex-start; 
	column-gap: 0.65rem; 
	width: 100%; 
} 

.signup-checkbox label { 
	margin: 0; 
} 

.signup-checkbox input[type="checkbox"] { 
	margin: 0.2rem 0 0; 
} 

/* Keep this class – used inside the legal text */ 
.signup-disclaimer { 
	color: rgba(11, 35, 71, 0.75); 
	font-size: 0.8rem; 
	line-height: 1.35; 
	max-width: none;
} 

.terms, 
.privacy-link { 
	color: var(--navy); 
	text-decoration: underline; 
	text-underline-offset: 3px; 
	font-weight: 600; 
} 

/* BUTTON – full width like screenshot */ 
#mc_embed_signup_scroll .signup-btn-large { 
	margin-top: 0.75rem; 
	padding: 1.15rem 1.25rem; 
	background: var(--navy); 
	color: var(--white); 
	font-size: 1.1rem; 
	font-weight: 900; 
	border-radius: 14px; 
	border: 2px solid var(--goldBorder); 
	width: 100%; 
	display: block; 
	cursor: pointer; 
} 

#mc_embed_signup_scroll .signup-btn-large:hover { 
	transform: translateY(-1px); 
} 

#mc_embed_signup_scroll .signup-btn-large:focus-visible { 
	outline: 3px solid rgba(243, 196, 59, 0.7); 
	outline-offset: 2px; 
} 

/* RIGHT: LOGO AND SOCIAL STRIP */ 
.signup-right {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 18px;
}

/* Logo sizing */
.signup-logo-large {
	width: 100%;
	height: auto;
	max-width: 620px;
}

/* The social section wrapper */
.signup-right .home-social {
	padding-top: 4px;
	width: 100%;
}

/* Keep the content neatly centered and not “full page wide” */
.signup-right .home-social .t-container {
	margin: 0 auto;
	text-align: center;
	width: 100%;
	max-width: 520px;
}

/* Title + subtitle */
.signup-right .home-social .t-section-title {
	margin: 0 0 8px;
	color: var(--navy);
	font-size: clamp(20px, 1.8vw, 28px);
}

.signup-right .home-social .t-section-subtitle {
	margin: 0 auto 14px;
	color: rgba(11, 42, 74, 0.82);
	font-size: 14px;
	line-height: 1.5;
	max-width: 46ch;
}

/* Divider */
.signup-right .home-social .t-social-divider {
	margin: 14px 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.signup-right .home-social .t-line {
	background: rgba(11, 42, 74, 0.18);
	height: 1px;
	width: min(180px, 18vw);
}

.signup-right .home-social .t-sparks {
	position: relative;
	width: 26px;
	height: 10px;
}

.signup-right .home-social .t-sparks::before,
.signup-right .home-social .t-sparks::after {
	background: var(--gold);
    border-radius: 99px;
    content: "";
    position: absolute;
    width: 10px;
    height: 3px;
    top: 3px;
}

.signup-right .home-social .t-sparks::before {
	left: 0;
	transform: rotate(-42deg);
}

.signup-right .home-social .t-sparks::after {
	right: 0;
	transform: rotate(-42deg);
}

/* Icon cards grid */
.signup-right .home-social .t-social-icons {
	margin-top: 4px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	justify-items: center;
}

/* Each social card */
.signup-right .home-social .t-icon {
	padding: 14px 12px 12px;
	background: var(--white);
	color: var(--navy);
	border-radius: 16px;
	border: 1px solid rgba(11, 42, 74, 0.10);
	box-shadow: 0 10px 22px rgba(0,0,0,0.10);
	display: grid;
	grid-template-rows: 62px auto;
	width: 100%;
	max-width: 160px;
	min-height: 118px;
	place-items: center;
	row-gap: 10px;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.signup-right .home-social .t-icon:hover {
	border-color: rgba(199, 154, 44, 0.45);
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(0,0,0,0.12);
}

.signup-right .home-social .t-icon:focus-visible {
	outline: 3px solid rgba(199, 154, 44, 0.45);
	outline-offset: 3px;
}

/* Icon bubble */
.signup-right .home-social .social-btn__icon {
	background: rgba(11, 42, 74, 0.04);
	border-radius: 16px;
	width: 62px;
	height: 62px;
	display: grid;
	place-items: center;
}

.signup-right .home-social .social-btn__icon i {
	font-size: 2.1rem;
	line-height: 1;
}

/* Labels */
.signup-right .home-social .social-btn__label {
	text-align: center;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.15;
}

.signup-right .home-social .social-btn__hint {
	margin-top: 4px;
	color: rgba(13, 19, 33, 0.82);
	font-size: 0.82rem;
	font-weight: 650;
	display: block;
}

/*Responsive*/
@media (max-width: 900px) {
	.signup-right .home-social .t-container {
		max-width: 560px;
	}
	.signup-right .home-social .t-social-icons {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.signup-right .home-social .t-social-icons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.signup-right .home-social .t-social-icons {
		grid-template-columns: 1fr;
	}
	.signup-right .home-social .t-icon {
		max-width: 220px;
	}
}

/* Responsive */ 
@media (max-width: 900px) { 
	.signup-inner { 
		text-align: center; 
	} 
	.signup-grid { 
		text-align: center; 
		grid-template-columns: 1fr; 
	} 
	.signup-row { 
		grid-template-columns: 1fr; 
	} 
	.signup-logo-large { 
		max-width: 360px; 
	} 
} 

/*POLICY SECTION*/ 
.fightin-for-section { 
	padding: 4.5rem 1rem; 
	background: var(--offwhite); 
} 

.fightin-for-inner { 
	margin: 0 auto; 
	width: min(1300px, 90%); 
} 

.section-title { 
	margin-bottom: 3rem; 
	color: var(--navy); 
	text-align: center; 
	font-size: clamp(2rem, 3.8vw, 2.6rem); 
} 

.fightin-for-cards { 
	display: grid; 
	grid-template-columns: repeat(5, 1fr); 
	gap: 1.5rem; 
} 

.policy-card { 
	padding: 1.75rem; 
	background: var(--white); 
	border-radius: 18px; 
	border-top: 4px solid var(--goldBorder); /* gold accent */ 
	opacity: 0; 
	transform: translateY(20px); 
	transition: opacity 600ms ease, transform 600ms ease; 
} 

.policy-card.is-visible { 
	opacity: 1; 
	transform: translateY(0); 
} 

.policy-card h3 { 
	margin-bottom: 0.75rem; 
	color: var(--navy); 
	font-size: 1.25rem; 
} 

.policy-card ul { 
	margin-bottom: 1.25rem; 
	padding-left: 1.1rem; 
} 

.policy-card li { 
	margin-bottom: 0.6rem; 
	color: rgba(11, 42, 74, 0.85); 
	line-height: 1.55; 
} 

.policy-btn { 
	padding-bottom: 0.15rem; 
	color: var(--navy); 
	text-decoration: none; 
	font-weight: 700;
	border-bottom: 2px solid var(--goldBorder);
	display: inline-block; 
} 

/* TAKE ACTION (combined Donate + Volunteer) */ 
.action-section { 
	padding: 4.5rem 1rem; 
	background: var(--navy); 
	color: var(--white);
} 

.action-inner { 
	margin: 0 auto; 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 3rem; 
	position: relative; 
	align-items: start; 
	width: min(1100px, 90%); 
} 

/* gold divider that is NOT full height */ 
.action-inner::after { 
	background: var(--gold); 
	border-radius: 99px; 
	content: ""; 
	position: absolute; 
	left: 50%; 
	transform: translateX(-50%); 
	width: 3px; 
	height: 68%; /* not full height */ 
	top: 16%; /* centers it vertically */ 
	opacity: 1; 
	pointer-events: none; 
} 

/* each column stacks its own content */ 
.action-col { 
	display: grid; 
	gap: 1.4rem; 
	align-content: start; 
} 

/* Optional: keep columns visually aligned */ 
.action-col--donate { 
	padding-right: 0.5rem; 
} 

.donate-title { 
	margin-bottom: 1rem; 
	font-size: clamp(2rem, 4vw, 2.8rem); 
} 

.donate-desc { 
	margin-bottom: 1.75rem; 
	color: rgba(255, 255, 255, 0.85); 
	line-height: 1.7; 
	max-width: 55ch; 
} 

.donate-actions { 
	margin-bottom: 1rem; 
	display: flex; 
	gap: 0.85rem; 
	flex-wrap: wrap; 
} 

.donate-btn {
	padding: 0.95rem 1.2rem; 
	text-decoration: none; 
	font-weight: 800; 
	border-radius: 10px; 
	border: 2px solid transparent; 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	cursor: pointer; 
} 

.donate-btn.primary { 
	background: var(--white); 
	color: var(--navy); 
	border-color: var(--goldBorder); 
} 

.donate-btn.ghost { 
	background: transparent; 
	color: var(--white); 
	border-color: rgba(255, 255, 255, 0.35); 
} 

.donate-btn.full { 
	margin-top: 1rem; 
	width: 100%; 
} 

.donate-fineprint { 
	color: rgba(255, 255, 255, 0.7); 
	font-size: 0.8rem; 
} 

.donate-panel { 
	padding: 1.5rem; 
	background: rgba(255, 255, 255, 0.06); 
	border: 1px solid rgba(255, 255, 255, 0.14); 
	border-radius: 18px; 
} 

.donate-panel-title { 
	margin-bottom: 1rem; 
	letter-spacing: 0.02em; 
	font-weight: 800; 
} 

.donate-amounts { 
	display: grid; 
	grid-template-columns: repeat(2, 1fr); 
	gap: 0.75rem; 
} 

.amount-btn { 
	padding: 0.9rem 1rem; 
	background: rgba(255, 255, 255, 0.04); 
	color: var(--white); 
	font-weight: 800; 
	border-radius: 12px; 
	border: 1px solid rgba(255, 255, 255, 0.18); 
	cursor: pointer; 
} 

.amount-btn:hover { 
	border-color: rgba(245, 197, 66, 0.65); 
} 

/* featured quick amount */ 
.amount-btn.main-donate { 
	background: rgba(243, 196, 59, 0.12); /* soft gold tint */ 
	border: 2px solid var(--gold); 
	box-shadow: 0 0 0 4px rgba(243, 196, 59, 0.12); 
	transform: translateY(-1px);
} 

/* keep it feeling interactive */ 
.amount-btn.main-donate:hover { 
	border-color: rgba(245, 197, 66, 0.95); 
	box-shadow: 0 0 0 6px rgba(243, 196, 59, 0.16); 
	transform: translateY(-2px); 
} 

/* keyboard accessibility */ 
.amount-btn.main-donate:focus-visible { 
	outline: 3px solid rgba(243, 196, 59, 0.7); 
	outline-offset: 2px; 
} 

.amount-btn.is-active { 
	border-color: var(--gold); 
	box-shadow: 0 0 0 4px rgba(243, 196, 59, 0.14); 
	transform: translateY(-1px); 
} 

.donate-custom { 
	margin-top: 1rem; 
	padding: 0.85rem 1rem; 
	background: rgba(255, 255, 255, 0.04); 
	border-radius: 12px; 
	border: 1px solid rgba(255, 255, 255, 0.18); 
	display: flex; 
	align-items: center; 
	gap: 0.6rem; 
} 

.donate-custom-label { 
	color: rgba(255, 255, 255, 0.85); 
	font-weight: 800; 
} 

.donate-custom-input { 
	background: transparent; 
	color: var(--white); 
	font-size: 1rem; 
	border: none; 
	flex: 1; 
	outline: none; 
} 

.donate-custom-input::placeholder { 
	color: rgba(255, 255, 255, 0.6); 
} 

.donate-panel-note { 
	margin-top: 0.75rem; 
	color: rgba(255, 255, 255, 0.7); 
	font-size: 0.75rem; 
} 

/* Gold line to separate Donate + Volunteer (same navy background) */ 
.action-col--volunteer { 
	padding-left: 0.5rem; 
} 

.volunteer-title { 
	margin-bottom: 0.75rem; 
	font-size: clamp(2rem, 4vw, 2.6rem); 
} 

.volunteer-desc { 
	margin-bottom: 1.5rem; 
	color: rgba(255, 255, 255, 0.85); 
	line-height: 1.7; 
	max-width: 60ch; 
} 

.volunteer-actions { 
	margin-bottom: 1rem; 
	display: flex; 
	gap: 0.85rem; 
	flex-wrap: wrap; 
} 

.volunteer-btn { 
	padding: 0.95rem 1.2rem; 
	text-decoration: none; 
	font-weight: 800; 
	border-radius: 10px; 
	border: 2px solid transparent; 
	display: inline-flex; 
	align-items: center; 
	justify-content: center;
} 

.volunteer-btn.primary { 
	background: var(--white); 
	color: var(--navy); 
	border-color: var(--goldBorder); 
} 

.volunteer-btn.ghost { 
	background: transparent; 
	color: var(--white); 
	border-color: rgba(255, 255, 255, 0.35);
} 

.volunteer-fineprint { 
	margin-top: 0.5rem; 
	color: rgba(255, 255, 255, 0.7); 
	font-size: 0.8rem; 
} 

.volunteer-cards { 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 0.85rem;
} 

.help-card { 
	padding: 1.2rem; 
	background: rgba(255, 255, 255, 0.06); 
	border: 1px solid rgba(255, 255, 255, 0.14); 
	border-radius: 16px; 
} 

.help-card h3 { 
	margin-bottom: 0.35rem; 
	color: var(--white); 
	font-size: 1.05rem; 
} 

.help-card p { 
	margin: 0; 
	color: rgba(255, 255, 255, 0.82); 
	font-size: 0.95rem; 
	line-height: 1.55;
}

/*FOOTER*/ 
.site-footer { 
	padding: 3.5rem 1rem 1.5rem; 
	background: var(--white); 
	color: var(--navy); 
	/*border-top: 3px solid #f5c542; /* gold separator */ 
} 

.footer-inner { 
	margin: 0 auto; 
	display: grid; 
	grid-template-columns: 1.2fr 1fr 1fr; 
	gap: 2rem; 
	align-items: start; 
	width: min(1100px, 90%); 
} 

.footer-name { 
	margin: 0 0 0.25rem; 
	color: var(--navy); 
	font-size: 1.25rem; 
	font-weight: 800; 
} 

.footer-slogan { 
	margin: 0 0 1.25rem; 
	color: rgba(11, 42, 74, 0.8); 
	letter-spacing: 0.02em; 
} 

.footer-donate { 
	padding: 1rem 1.35rem; 
	background: var(--navy); 
	color: var(--white); 
	text-decoration: none; 
	font-size: 1.05rem; 
	font-weight: 900; 
	border: 2px solid var(--goldBorder); 
	border-radius: 12px; 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
} 

.footer-heading { 
	margin: 0 0 0.85rem; 
	color: rgba(11, 42, 74, 0.9); 
	text-transform: uppercase; 
	font-size: 0.95rem; 
	font-weight: 800; 
	letter-spacing: 0.03em; 
} 

.footer-links a, 
.footer-contact a, 
.footer-social a, 
.footer-legal a { 
	margin-bottom: 0.6rem; 
	color: rgba(11, 42, 74, 0.80); 
	text-decoration: none; 
	display: inline-block; 
} 

.footer-links a:hover, 
.footer-contact a:hover, 
.footer-social a:hover, 
.footer-legal a:hover { 
	color: var(--navy); 
	text-decoration: underline; 
	text-underline-offset: 3px; 
} 

.footer-links a, 
.footer-contact a { 
	margin-bottom: 0.6rem; 
	display: block; 
} 

.footer-social { 
	margin-top: 0.75rem; 
	display: flex; 
	gap: 0.9rem; 
	flex-wrap: wrap; 
} 

.footer-bottom { 
	margin: 2rem auto 0; 
	padding-top: 1.25rem; 
	border-top: 1px solid rgba(11, 42, 74, 0.15); 
	display: flex; 
	flex-wrap: wrap; 
	gap: 0.75rem 1.25rem; 
	justify-content: space-between; 
	align-items: center; 
	width: min(1100px, 90%); 
} 

.footer-paidfor, 
.footer-legal { 
	margin: 0; 
	color: rgba(11, 42, 74, 0.7); 
	font-size: 0.8rem; 
} 

.footer-privacy { 
	color: rgba(11, 42, 74, 0.85); 
} 

/* RESPONSIVE: hide desktop links + donate, show toggle */ 
@media (max-width: 480px) { 
	.signup-row { 
		grid-template-columns: 1fr; 
	} 
} 

@media (max-width: 900px) { 
	.about-inner { 
		text-align: left; 
		grid-template-columns: 1fr; 
	} 
	.about-photo-placeholder { 
		margin: 0 auto; 
		max-width: 360px; 
	} 
	.about-text { 
		margin-left: auto; 
		margin-right: auto; 
	} 
} 

@media (max-width: 900px) { 
	.donate-inner { 
		text-align: center; 
		grid-template-columns: 1fr; 
	} 
	.donate-actions { 
		justify-content: center; 
	} 
} 

@media (max-width: 900px) { 
	.fightin-for-cards { 
		grid-template-columns: 1fr 1fr; 
	} 
} 

@media (max-width: 520px) { 
	.fightin-for-cards { 
		grid-template-columns: 1fr; 
	} 
} 

@media (max-width: 900px) { 
	.signup-grid { 
		text-align: center !important; 
		grid-template-columns: 1fr !important; 
	} 
	.signup-inner { 
		text-align: center !important; 
	} 
	.signup-form-large .signup-row { 
		grid-template-columns: 1fr !important; 
	} 
	.signup-logo-large { 
		max-width: 360px !important; 
	}
} 

@media (max-width: 900px) { 
	.volunteer-inner { 
		text-align: center; 
		grid-template-columns: 1fr; 
	} 
	.volunteer-actions { 
		justify-content: center; 
	} 
	.volunteer-cards { 
		grid-template-columns: 1fr; 
	}
} 

@media (max-width: 900px) { 
	.action-inner { 
		text-align: center; 
		grid-template-columns: 1fr; 
		gap: 2.5rem; 
	} 
	.action-inner::after { 
		display: none; 
	} 
	.action-col--volunteer { 
		padding-top: 2.5rem; 
		border-top: 3px solid var(--gold); 
	} 
	.donate-actions, .volunteer-actions { 
		justify-content: center; 
	} 
	.volunteer-cards { 
		grid-template-columns: 1fr; 
	} 
} 

@media (max-width: 900px) { 
	.footer-inner { 
		text-align: center; 
		grid-template-columns: 1fr; 
	} 
	.footer-social { 
		justify-content: center; 
	} 
	.footer-bottom { 
		text-align: center; 
		justify-content: center; 
	} 
}