.lw-community-giving {
	--cg-navy: #181f2e;
	--cg-navy-2: #101723;
	--cg-cream: #fdf8e8;
	--cg-gold: #e6bd63;
	--cg-gold-2: #c99530;
	--cg-white: #fffef8;
	--cg-ink: #1d2433;
	--cg-muted: #667084;
	--cg-line: rgba(24, 31, 46, .15);
	background: var(--cg-cream);
	color: var(--cg-ink);
	font-size: 16px;
	line-height: 1.6;
}

.lw-community-giving *,
.lw-community-giving *::before,
.lw-community-giving *::after { box-sizing: border-box; }
.lw-community-giving h1,
.lw-community-giving h2,
.lw-community-giving h3,
.lw-community-giving p { margin-top: 0; }
.lw-community-giving button,
.lw-community-giving input,
.lw-community-giving select,
.lw-community-giving textarea { font: inherit; }
.lw-community-giving button { cursor: pointer; }
.cg-shell { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }
.cg-eyebrow { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .16em; font-size: .76rem; font-weight: 700; line-height: 1.2; }
.cg-eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--cg-gold); }

.cg-hero { min-height: 720px; position: relative; overflow: hidden; background: var(--cg-navy); color: #fff; }
.cg-hero-media { position: absolute; inset: 0; }
.cg-hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.cg-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,19,24,.94) 0%, rgba(7,22,24,.78) 38%, rgba(8,15,25,.22) 68%, rgba(8,15,25,.36) 100%), linear-gradient(0deg, rgba(9,16,25,.55), transparent 55%); }
.cg-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(430px,.72fr); gap: 74px; align-items: center; padding: 76px 0 84px; }
.cg-hero-copy h1 { font-size: clamp(3.2rem, 6vw, 6.1rem); line-height: .95; letter-spacing: -.06em; margin: 22px 0 24px; max-width: 760px; }
.cg-hero-copy h1 em { color: var(--cg-gold); font-style: normal; }
.cg-hero-copy > p { font-size: 1.2rem; line-height: 1.65; max-width: 610px; color: rgba(255,255,255,.88); }
.cg-proof-row { display: flex; gap: 34px; margin-top: 40px; }
.cg-proof strong { display: block; color: var(--cg-gold); font-size: 2rem; line-height: 1; }
.cg-proof span { display: block; font-size: .88rem; color: rgba(255,255,255,.7); margin-top: 8px; }
.cg-sound-note { display: flex; align-items: center; gap: 10px; margin-top: 28px; color: rgba(255,255,255,.65); font-size: .82rem; }
.cg-sound-bars { display: flex; gap: 3px; align-items: end; height: 14px; }
.cg-sound-bars i { display: block; width: 2px; background: var(--cg-gold); animation: cg-pulse 1.2s infinite alternate; }
.cg-sound-bars i:nth-child(1) { height: 5px; }
.cg-sound-bars i:nth-child(2) { height: 12px; animation-delay: .2s; }
.cg-sound-bars i:nth-child(3) { height: 8px; animation-delay: .4s; }
@keyframes cg-pulse { to { height: 3px; } }

.cg-request-card { background: rgba(253,248,232,.97); color: var(--cg-ink); border-radius: 22px; padding: 30px; box-shadow: 0 24px 70px rgba(8,14,25,.18); border: 1px solid rgba(255,255,255,.6); }
.cg-card-kicker { color: #9a6f20; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; }
.cg-request-card h2 { font-size: 1.9rem; line-height: 1.15; letter-spacing: -.03em; margin: 8px 0; }
.cg-intro { color: var(--cg-muted); font-size: .93rem; margin-bottom: 22px; }
.cg-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cg-field { margin-bottom: 14px; }
.cg-field label { display: block; font-weight: 700; font-size: .8rem; margin-bottom: 6px; }
.cg-field label span { font-weight: 500; color: var(--cg-muted); }
.cg-field input,
.cg-field select,
.cg-field textarea { width: 100%; border: 1px solid rgba(24,31,46,.22); border-radius: 10px; background: #fffef9; color: var(--cg-ink); padding: 12px 13px; outline: none; }
.cg-field textarea { min-height: 96px; resize: vertical; }
.cg-field input:focus,
.cg-field select:focus,
.cg-field textarea:focus { border-color: var(--cg-gold-2); box-shadow: 0 0 0 3px rgba(230,189,99,.25); }
.cg-video-option { margin: 2px 0 16px; border: 1px solid rgba(24,31,46,.16); border-radius: 14px; background: rgba(255,254,249,.7); padding: 0 14px; }
.cg-video-option summary { list-style: none; cursor: pointer; padding: 13px 2px; font-weight: 700; font-size: .86rem; display: flex; align-items: center; justify-content: space-between; }
.cg-video-option summary::-webkit-details-marker { display: none; }
.cg-video-option summary::after { content: "+"; color: #9a6f20; font-size: 1.25rem; line-height: 1; }
.cg-video-option[open] summary::after { content: "−"; }
.cg-video-body { padding: 0 2px 15px; }
.cg-video-body > p { font-size: .82rem; line-height: 1.45; color: var(--cg-muted); margin-bottom: 12px; }
.cg-video-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.cg-video-action { border: 1px solid rgba(24,31,46,.22); border-radius: 10px; background: #fffef9; color: var(--cg-ink); padding: 10px 8px; text-align: center; font-weight: 700; font-size: .78rem; cursor: pointer; }
.cg-video-action:hover,
.cg-video-action:focus-visible { border-color: var(--cg-gold-2); box-shadow: 0 0 0 3px rgba(230,189,99,.2); }
.cg-video-upload,
.cg-website-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cg-video-help,
.cg-video-status { font-size: .72rem !important; margin: 9px 0 0 !important; }
.cg-video-status { color: #647044 !important; font-weight: 700; }
.cg-video-preview { display: none; width: 100%; max-height: 180px; object-fit: cover; border-radius: 10px; margin-top: 10px; background: var(--cg-navy); }
.cg-form-submit { width: 100%; border: 0; border-radius: 999px; background: var(--cg-navy); color: #fff; padding: 14px 20px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 10px; }
.cg-form-submit:hover,
.cg-form-submit:focus-visible { background: #263148; }
.cg-form-submit:disabled { cursor: wait; opacity: .7; }
.cg-form-error { display: none; margin: 0 0 12px; color: #8f2727; font-size: .8rem; font-weight: 700; text-align: center; }
.cg-fine { font-size: .76rem; color: #6e7581; margin: 12px 0 0; text-align: center; }
.cg-form-success { display: none; text-align: center; padding: 26px 8px; }
.cg-check { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 16px; background: var(--cg-gold); color: var(--cg-navy); font-size: 1.6rem; font-weight: 800; }
.cg-form-success h3 { font-size: 1.55rem; line-height: 1.2; margin-bottom: 10px; }
.cg-form-success p { color: var(--cg-muted); }
.cg-receipt { font-weight: 800; color: var(--cg-ink) !important; }

/* The shared form system resets margins on details, buttons, and helper copy.
   Restore an intentional rhythm for this three-part action stack. */
html body main#main.lw-community-giving .cg-request-card .cg-form-submit {
	margin: 20px 0 16px !important;
	padding: 14px 20px !important;
}
html body main#main.lw-community-giving .cg-request-card .cg-fine {
	margin: 0 !important;
	line-height: 1.45;
}

.cg-ticker { background: var(--cg-gold); color: var(--cg-navy); overflow: hidden; border-bottom: 1px solid rgba(24,31,46,.2); }
.cg-ticker-track { display: flex; gap: 44px; white-space: nowrap; padding: 13px 0; font-size: .76rem; line-height: 1; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; justify-content: center; }
.cg-ticker-track span:not(:last-child)::after { content: "◆"; font-size: .5rem; margin-left: 44px; }
.lw-community-giving > section:not(.cg-hero):not(.cg-impact):not(.cg-request-bottom) { padding: 104px 0; }
.cg-section-head { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; align-items: start; margin-bottom: 54px; }
.cg-section-head h2 { font-size: clamp(2.5rem,5vw,4.7rem); line-height: 1.03; letter-spacing: -.055em; margin: 14px 0 0; }
.cg-section-pullout { position: relative; max-width: 720px; margin: 18px 0 0; padding: 8px 0 10px 30px; border-left: 4px solid var(--cg-gold); font-size: clamp(1.55rem,2.55vw,2.35rem); font-weight: 600; line-height: 1.18; letter-spacing: -.035em; color: var(--cg-navy); }
.cg-section-pullout::before { content: "“"; position: absolute; left: 26px; top: -28px; color: rgba(194,145,52,.2); font: 700 5rem/1 Georgia,serif; transform: translateX(-2px); }
.cg-section-pullout span { position: relative; }
.cg-commitments { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.cg-commitment { position: relative; padding: 34px; min-height: 320px; border-radius: 20px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 14px 38px rgba(19,28,43,.09); }
.cg-commitment:nth-child(1) { background: #172234; color: #fff; }
.cg-commitment:nth-child(2) { background: #e4be66; color: #172234; }
.cg-commitment:nth-child(3) { background: #244c49; color: #fff; }
.cg-number { font-size: 1rem; line-height: 1; font-weight: 700; margin-bottom: 76px; }
.cg-commitment:nth-child(1) .cg-number,
.cg-commitment:nth-child(3) .cg-number { color: #efc760; }
.cg-commitment:nth-child(2) .cg-number { color: #674b13; }
.cg-commitment-logo { position: absolute; top: 24px; right: 24px; width: 92px; height: 92px; padding: 10px; border-radius: 14px; background: rgba(255,255,255,.93); object-fit: contain; }
.cg-commitment-logo-wide { top: 28px; width: 142px; height: 72px; padding: 12px 14px; }
.cg-commitment h3 { font-size: 1.42rem; line-height: 1.2; letter-spacing: -.02em; }
.cg-commitment p { margin: auto 0 0; }
.cg-commitment:nth-child(1) p,
.cg-commitment:nth-child(3) p { color: rgba(255,255,255,.78); }
.cg-commitment:nth-child(2) p { color: rgba(23,34,52,.76); }

.cg-impact { background: var(--cg-navy); color: #fff; overflow: hidden; padding: 0; }
.cg-impact-grid { display: grid; grid-template-columns: 1.03fr .97fr; min-height: 690px; }
.cg-impact-media { position: relative; min-height: 520px; background: #0b171b; }
.cg-impact-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cg-impact-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(3,18,22,.08),transparent 55%),linear-gradient(0deg,rgba(3,18,22,.18),transparent 42%); }
.cg-impact-copy { padding: 90px clamp(38px,7vw,110px); display: flex; flex-direction: column; justify-content: center; }
.cg-impact-copy h2 { font-size: clamp(3.2rem,6vw,6rem); line-height: .92; letter-spacing: -.06em; margin: 20px 0 30px; }
.cg-impact-copy h2 span { display: block; color: var(--cg-gold); }
.cg-impact-copy p { max-width: 580px; color: rgba(255,255,255,.75); font-size: 1.08rem; }
.cg-impact-copy .cg-note { margin-top: 30px; border-left: 2px solid var(--cg-gold); padding-left: 20px; color: #fff; font-weight: 600; }
.cg-note span { display: block; }
.cg-note span + span { margin-top: 6px; }
.cg-impact-copy .cg-eligibility { margin-top: 18px; font-size: .94rem; color: rgba(255,255,255,.68); }
.cg-fit { background: var(--cg-white); }
.cg-fit-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; }
.cg-fit h2 { font-size: clamp(2.6rem,4.5vw,4.4rem); line-height: 1.05; letter-spacing: -.05em; }
.cg-criteria { display: grid; border-top: 1px solid var(--cg-line); }
.cg-criterion { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--cg-line); }
.cg-icon { color: #a17322; font-weight: 800; }
.cg-criterion h3 { font-size: 1.05rem; line-height: 1.3; margin-bottom: 6px; }
.cg-criterion p { color: var(--cg-muted); margin: 0; }
.cg-request-bottom { padding: 74px 0; background: var(--cg-gold); text-align: center; }
.cg-request-bottom h2 { font-size: clamp(2.4rem,4.5vw,4.5rem); line-height: 1; letter-spacing: -.05em; max-width: 820px; margin: 0 auto 24px; }
.cg-request-bottom a { display: inline-flex; background: var(--cg-navy); color: #fff; text-decoration: none; padding: 14px 24px; border-radius: 999px; font-weight: 700; }

@media (max-width: 980px) {
	.cg-hero-inner { grid-template-columns: 1fr; gap: 44px; }
	.cg-hero { min-height: auto; }
	.cg-request-card { max-width: 650px; }
	.cg-impact-grid { grid-template-columns: 1fr; }
	.cg-impact-copy { order: -1; }
	.cg-fit-grid { grid-template-columns: 1fr; gap: 40px; }
	.cg-section-head { grid-template-columns: 1fr; gap: 14px; }
	.cg-commitments { grid-template-columns: 1fr; }
	.cg-commitment { padding: 30px; min-height: 250px; }
	.cg-number { margin-bottom: 52px; }
	.cg-commitment-logo { top: 18px; right: 18px; width: 78px; height: 78px; }
	.cg-commitment-logo-wide { top: 20px; width: 124px; height: 64px; }
	.cg-commitment h3 { padding-right: 96px; }
}

@media (max-width: 640px) {
	.cg-shell { width: min(100% - 28px, 1220px); }
	.cg-hero-inner { padding: 58px 0; }
	.cg-hero-copy h1 { font-size: 3.4rem; }
	.cg-proof-row { gap: 22px; flex-wrap: wrap; }
	.cg-request-card { padding: 22px; }
	.cg-grid-2 { grid-template-columns: 1fr; }
	.cg-ticker-track { justify-content: flex-start; animation: cg-marquee 18s linear infinite; }
	.cg-impact-copy { padding: 70px 24px; }
	.cg-impact-media { min-height: 440px; }
	.lw-community-giving > section:not(.cg-hero):not(.cg-impact):not(.cg-request-bottom) { padding: 76px 0; }
}

@keyframes cg-marquee { to { transform: translateX(-60%); } }
@media (prefers-reduced-motion: reduce) {
	.cg-ticker-track,
	.cg-sound-bars i { animation: none; }
}
