
:root{
 --cp-pro-navy:#071827;--cp-pro-navy-2:#0d2638;--cp-pro-green:#0f9f74;
 --cp-pro-green-2:#19c892;--cp-pro-orange:#ff7a1a;--cp-pro-cream:#f5f8f7;
 --cp-pro-text:#102737;--cp-pro-muted:#637783;--cp-pro-line:#dce8e4;
 --cp-pro-shadow:0 22px 55px rgba(7,24,39,.12);
}
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#f9fbfa 0,#f2f7f5 55%,#fff 100%)!important;color:var(--cp-pro-text)!important}
.app{--cp-accent:var(--cp-pro-orange)!important;--cp-footer:var(--cp-pro-navy)!important;background:transparent!important}
.site-header{
 background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(15,159,116,.14)!important;
 box-shadow:0 8px 32px rgba(7,24,39,.06)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.brand{position:relative;isolation:isolate;gap:11px!important}
.brand-mark{
 position:relative;display:grid!important;place-items:center;overflow:visible!important;
 background:linear-gradient(145deg,var(--cp-pro-green-2),var(--cp-pro-green),#087557)!important;
 box-shadow:0 10px 24px rgba(15,159,116,.26),inset 0 1px 1px rgba(255,255,255,.45)!important;
 animation:cpPlanetFloat 3.6s ease-in-out infinite;
}
.brand-mark:before{
 content:"";position:absolute;inset:-6px;border:1.5px solid rgba(255,122,26,.72);border-radius:50%;
 transform:rotate(-24deg) scaleY(.38);animation:cpOrbit 5s linear infinite;pointer-events:none
}
.brand-mark:after{
 content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cp-pro-orange);
 top:-4px;right:2px;box-shadow:0 0 12px rgba(255,122,26,.9);animation:cpMoon 2.2s ease-in-out infinite
}
.brand [data-ai="brand_text"]{
 background:linear-gradient(100deg,var(--cp-pro-navy) 10%,var(--cp-pro-green) 42%,var(--cp-pro-orange) 55%,var(--cp-pro-navy) 82%);
 background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;
 animation:cpBrandShine 6s ease-in-out infinite;font-weight:900!important;letter-spacing:-.5px
}
.desktop-nav a{position:relative;color:#29414f!important}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--cp-pro-green),var(--cp-pro-orange));transition:right .25s ease}
.desktop-nav a:hover:after{right:0}
.primary-button,.header-actions button:last-child,.search-panel button{
 background:linear-gradient(135deg,var(--cp-pro-orange),#ff9b31)!important;color:white!important;
 border:0!important;box-shadow:0 12px 26px rgba(255,122,26,.24)!important;transition:.25s ease!important
}
.primary-button:hover,.header-actions button:last-child:hover,.search-panel button:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(255,122,26,.34)!important}
.hero{
 position:relative;overflow:hidden;background:
 radial-gradient(circle at 82% 20%,rgba(25,200,146,.18),transparent 26%),
 radial-gradient(circle at 12% 84%,rgba(255,122,26,.15),transparent 28%),
 linear-gradient(135deg,var(--cp-pro-navy) 0%,#0c3041 52%,#105a54 100%)!important;
 color:#fff!important;border-radius:0 0 46px 46px!important;box-shadow:0 25px 60px rgba(7,24,39,.18)
}
.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.hero:before{width:360px;height:360px;right:-130px;top:-150px;animation:cpOrb 11s ease-in-out infinite}
.hero:after{width:180px;height:180px;right:18%;bottom:-120px;animation:cpOrb 8s ease-in-out -2s infinite reverse}
.hero-content{position:relative;z-index:1}
.hero h1{color:#fff!important;max-width:900px;text-wrap:balance;letter-spacing:-1.8px!important;text-shadow:0 10px 34px rgba(0,0,0,.22)}
.hero p{color:rgba(255,255,255,.78)!important}
.hero .eyebrow{background:rgba(25,200,146,.14)!important;color:#7ff0c8!important;border:1px solid rgba(127,240,200,.26)!important}
.search-panel{
 background:rgba(255,255,255,.97)!important;border:1px solid rgba(255,255,255,.4)!important;
 box-shadow:0 22px 55px rgba(0,0,0,.24)!important;backdrop-filter:blur(12px)
}
.search-field{background:#f7faf9!important;border-color:#d9e6e2!important}
.search-field:focus-within{border-color:var(--cp-pro-green)!important;box-shadow:0 0 0 4px rgba(15,159,116,.12)!important}
.trust-row{color:rgba(255,255,255,.82)!important}
.section-heading h2,.cp-friday-fundraisers h2,.cp-community-stream h2,.community-section h2,.safety-section h2{color:var(--cp-pro-navy)!important;letter-spacing:-.7px}
.category-card{
 position:relative;overflow:hidden;border:1px solid var(--cp-pro-line)!important;background:rgba(255,255,255,.9)!important;
 box-shadow:0 14px 40px rgba(7,24,39,.07)!important;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease!important
}
.category-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.65) 45%,transparent 70%);transform:translateX(-120%);transition:transform .65s ease}
.category-card:hover{transform:translateY(-7px)!important;border-color:rgba(15,159,116,.34)!important;box-shadow:var(--cp-pro-shadow)!important}
.category-card:hover:before{transform:translateX(120%)}
.category-card .category-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.cp-friday-fundraisers{
 background:linear-gradient(135deg,#fff 0%,#f7fbf9 58%,#fff1e5 100%)!important;
 border:1px solid rgba(255,122,26,.18)!important;box-shadow:var(--cp-pro-shadow)!important
}
.cp-friday-card{background:linear-gradient(145deg,var(--cp-pro-navy),#123448)!important;border:1px solid rgba(255,255,255,.08)!important}
.listings-section{position:relative}
.listing-card{
 position:relative;overflow:hidden;background:#fff!important;border:1px solid var(--cp-pro-line)!important;
 border-radius:22px!important;box-shadow:0 14px 42px rgba(7,24,39,.09)!important;
 transform:translateY(28px) scale(.97);opacity:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s ease,box-shadow .3s ease,border-color .3s ease!important
}
.listing-card.cp-listing-visible{transform:translateY(0) scale(1);opacity:1}
.listing-card:hover{transform:translateY(-8px) scale(1.015)!important;border-color:rgba(15,159,116,.35)!important;box-shadow:0 28px 62px rgba(7,24,39,.18)!important}
.listing-card:after{content:"";position:absolute;inset:-45% auto -45% -70%;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);transform:skewX(-18deg);transition:left .75s ease;pointer-events:none}
.listing-card:hover:after{left:145%}
.listing-image-wrap{overflow:hidden!important}
.listing-image-wrap img{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease!important}
.listing-card:hover .listing-image-wrap img{transform:scale(1.075);filter:saturate(1.08) contrast(1.02)}
.listing-category{background:rgba(7,24,39,.88)!important;backdrop-filter:blur(8px)}
.listing-content strong{color:var(--cp-pro-orange)!important}
.favorite-button{transition:transform .25s ease,background .25s ease!important}
.favorite-button:hover{transform:scale(1.12) rotate(-7deg);background:#fff0eb!important}
.cp-offers-heading{position:relative;display:inline-block}
.cp-offers-heading:after{content:"";position:absolute;left:0;bottom:-9px;width:44%;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--cp-pro-green),var(--cp-pro-orange));animation:cpLineBreath 3s ease-in-out infinite}
.cp-community-stream,.safety-section{border:1px solid var(--cp-pro-line)!important;box-shadow:0 16px 44px rgba(7,24,39,.07)!important}
.cp-community-channel-grid button{transition:.25s ease!important}
.cp-community-channel-grid button:hover{transform:translateY(-5px);border-color:var(--cp-pro-green)!important}
.community-section{background:linear-gradient(135deg,var(--cp-pro-navy),#0d3948)!important;box-shadow:0 26px 60px rgba(7,24,39,.2)!important}
.community-section h2{color:#fff!important}
.chat-preview{box-shadow:0 18px 44px rgba(0,0,0,.25)!important}
.cp-brand-footer{background:linear-gradient(145deg,#06131f,var(--cp-pro-navy-2))!important}
button,a{outline-color:var(--cp-pro-green)}
@keyframes cpPlanetFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(3deg)}}
@keyframes cpOrbit{to{transform:rotate(336deg) scaleY(.38)}}
@keyframes cpMoon{50%{transform:translate(-6px,5px) scale(.8);opacity:.65}}
@keyframes cpBrandShine{0%,22%{background-position:100% 0}55%,100%{background-position:-100% 0}}
@keyframes cpOrb{50%{transform:translate(-35px,24px) scale(1.08)}}
@keyframes cpLineBreath{50%{width:100%;opacity:.72}}
@media(max-width:760px){
 .hero{border-radius:0 0 28px 28px!important}.hero h1{letter-spacing:-1px!important}
 .listing-card{border-radius:18px!important}.site-header{backdrop-filter:blur(12px)}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
 .listing-card{transform:none!important;opacity:1!important}
}