:root{--cream:#f5f0e8;--parchment:#ede4d0;--saffron:#d4892a;--saffron-deep:#b06a10;--earth:#5c3d1e;--forest:#2c4a2e;--ink:#1a1208;--dust:#c4a882;--light-dust:#e8dcc8}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--cream);color:var(--ink);min-height:100vh;font-family:DM Sans,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:999;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}nav.public-nav{z-index:100;background:linear-gradient(#f5f0e8f2,#0000);justify-content:space-between;align-items:center;width:100%;padding:20px 48px;display:flex;position:fixed;top:0}.nav-logo{letter-spacing:.12em;color:var(--earth);text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:600;text-decoration:none}.nav-logo span{color:var(--saffron)}.nav-right{align-items:center;gap:32px;display:flex}.nav-link{letter-spacing:.08em;color:var(--earth);text-transform:uppercase;opacity:.7;font-size:.78rem;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:1}.nav-cta{background:var(--saffron);color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;padding:10px 24px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;text-decoration:none;transition:background .2s;display:inline-block}.nav-cta:hover{background:var(--saffron-deep)}.hero{text-align:center;background:var(--cream);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 48px 80px;display:flex;position:relative}.hero-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--saffron);opacity:0;margin-bottom:24px;font-size:.72rem;font-weight:500;animation:.8s .3s forwards fadeUp}.hero-title{color:var(--ink);opacity:0;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,8vw,7rem);font-weight:300;line-height:1.05;animation:.8s .5s forwards fadeUp}.hero-title em{color:var(--saffron);font-style:italic}.hero-subtitle{color:var(--earth);opacity:0;max-width:560px;margin-bottom:48px;font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,2.5vw,1.5rem);font-style:italic;font-weight:300;line-height:1.7;animation:.8s .7s forwards fadeUp}.hero-divider{background:linear-gradient(to right, transparent, var(--saffron), transparent);opacity:0;width:80px;height:1px;margin:0 auto 48px;animation:.8s .9s forwards fadeUp}.hero-stats{opacity:0;gap:64px;animation:.8s 1.1s forwards fadeUp;display:flex}.stat{text-align:center}.stat-number{color:var(--saffron);margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:600;line-height:1}.stat-label{letter-spacing:.15em;text-transform:uppercase;color:var(--earth);opacity:.7;font-size:.7rem}.hero-circle{pointer-events:none;border:1px solid #d4892a1f;border-radius:50%;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-circle-2{border-color:#d4892a0f;width:820px;height:820px}.scroll-hint{opacity:0;flex-direction:column;align-items:center;gap:8px;animation:.8s 1.5s forwards fadeUp;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-hint span{letter-spacing:.2em;text-transform:uppercase;color:var(--earth);opacity:.5;font-size:.65rem}.scroll-line{background:linear-gradient(to bottom, var(--saffron), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.1)}}.about-section{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:0 auto;padding:100px 48px;display:grid}.section-label{letter-spacing:.25em;text-transform:uppercase;color:var(--saffron);margin-bottom:16px;font-size:.7rem;display:block}.about-title{color:var(--ink);margin-bottom:32px;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.15}.about-text{color:var(--earth);opacity:.85;margin-bottom:20px;font-size:.92rem;line-height:1.9}.about-right{grid-template-columns:1fr 1fr;gap:20px;display:grid}.value-card{background:var(--parchment);border-top:2px solid var(--saffron);padding:28px 24px;transition:transform .2s}.value-card:hover{transform:translateY(-4px)}.value-icon{margin-bottom:12px;font-size:1.5rem}.value-title{color:var(--ink);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:600}.value-desc{color:var(--earth);opacity:.75;font-size:.78rem;line-height:1.7}.how-section{background:var(--ink);color:var(--cream);padding:100px 48px}.how-inner{max-width:1000px;margin:0 auto}.how-title{color:var(--cream);margin-bottom:64px;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:300}.steps{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.step{background:#ffffff0a;border-top:1px solid #d4892a33;padding:36px 28px;transition:background .2s}.step:hover{background:#ffffff12}.step-num{color:#d4892a40;margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300;line-height:1}.step-title{color:var(--cream);margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600}.step-desc{color:#f5f0e880;font-size:.78rem;line-height:1.7}.pledge-section{background:var(--parchment);padding:100px 48px;position:relative}.pledge-section:before{content:"";background:linear-gradient(to right, transparent, var(--dust), transparent);height:1px;position:absolute;top:0;left:0;right:0}.pledge-container{max-width:760px;margin:0 auto}.section-title{color:var(--ink);margin-bottom:48px;font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:300;line-height:1.1}.lang-switcher{flex-wrap:wrap;gap:8px;margin-bottom:48px;display:flex}.lang-btn{border:1px solid var(--dust);color:var(--earth);cursor:pointer;letter-spacing:.05em;background:0 0;padding:8px 18px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;transition:all .2s}.lang-btn:hover{border-color:var(--saffron);color:var(--saffron)}.lang-btn.active{background:var(--saffron);border-color:var(--saffron);color:#fff}.name-input-wrap{margin-bottom:40px}.name-input-label{letter-spacing:.15em;text-transform:uppercase;color:var(--earth);opacity:.7;margin-bottom:10px;font-size:.72rem;display:block}.name-input{border:1px solid var(--dust);width:100%;color:var(--ink);background:#ffffff80;outline:none;padding:16px 20px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;transition:border-color .2s}.name-input:focus{border-color:var(--saffron);background:#fffc}.name-input::placeholder{color:var(--dust)}.pledge-card{border-left:3px solid var(--saffron);background:#fff;padding:52px 56px;position:relative;box-shadow:0 2px 40px #5c3d1e0f}.pledge-card:before{content:"\"";color:var(--saffron);opacity:.08;font-family:Cormorant Garamond,serif;font-size:8rem;line-height:1;position:absolute;top:10px;right:30px}.pledge-title{letter-spacing:.2em;text-transform:uppercase;color:var(--saffron);text-align:center;margin-bottom:28px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:600}.pledge-body{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:300;line-height:1.85;transition:opacity .3s}.pledge-body.changing{opacity:0}.pledge-name{color:var(--saffron);border-bottom:1px solid var(--saffron);padding-bottom:1px;font-style:italic;font-weight:600}.pledge-body ul{margin:20px 0 20px 24px;list-style:none}.pledge-body ul li{margin-bottom:14px;padding-left:20px;position:relative}.pledge-body ul li:before{content:"—";color:var(--saffron);position:absolute;left:0}.pledge-closing{opacity:.8;margin-top:24px;font-style:italic}.pledge-cta-wrap{align-items:center;gap:24px;margin-top:40px;display:flex}.btn-primary{background:var(--saffron);color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;flex-shrink:0;padding:18px 40px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;transition:all .2s}.btn-primary:hover{background:var(--saffron-deep);transform:translateY(-1px);box-shadow:0 8px 24px #d4892a40}.btn-secondary{color:var(--earth);border:1px solid var(--dust);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;padding:18px 40px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--earth);color:var(--ink)}.modal-overlay{z-index:500;opacity:0;pointer-events:none;background:#1a1208d9;justify-content:center;align-items:center;padding:24px;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--cream);width:100%;max-width:560px;max-height:90vh;padding:52px;transition:transform .3s;position:relative;overflow-y:auto;transform:translateY(20px)}.modal-overlay.open .modal{transform:translateY(0)}.modal-close{cursor:pointer;color:var(--earth);opacity:.5;background:0 0;border:none;font-size:1.5rem;transition:opacity .2s;position:absolute;top:20px;right:24px}.modal-close:hover{opacity:1}.modal-title{color:var(--ink);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300}.modal-sub{color:var(--earth);opacity:.7;margin-bottom:36px;font-size:.82rem;line-height:1.6}.form-group{margin-bottom:20px}.form-label{letter-spacing:.15em;text-transform:uppercase;color:var(--earth);opacity:.7;margin-bottom:8px;font-size:.68rem;display:block}.form-input{border:1px solid var(--dust);width:100%;color:var(--ink);background:#fff;outline:none;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:.9rem;transition:border-color .2s}.form-input:focus{border-color:var(--saffron)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-divider{background:var(--light-dust);height:1px;margin:28px 0}.form-section-title{color:var(--earth);letter-spacing:.05em;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600}.pledge-preview{background:var(--parchment);border-left:2px solid var(--saffron);color:var(--ink);margin-bottom:28px;padding:20px 24px;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;line-height:1.7}.pledge-preview strong{color:var(--saffron);font-style:normal}.form-submit{background:var(--saffron);color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;width:100%;margin-top:8px;padding:18px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;transition:all .2s}.form-submit:hover{background:var(--saffron-deep)}.form-error{color:#c0392b;margin-top:8px;font-size:.82rem;display:block}.success-overlay{text-align:center;padding:20px;display:none}.success-overlay.show{display:block}.success-icon{margin-bottom:16px;font-size:3rem}.success-title{color:var(--forest);margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300}.success-msg{color:var(--earth);font-size:.88rem;line-height:1.7}footer{background:var(--earth);color:#f5f0e899;justify-content:space-between;align-items:center;padding:48px;display:flex}.footer-logo{color:var(--cream);letter-spacing:.1em;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600}.footer-copy{letter-spacing:.05em;opacity:.6;font-size:.75rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}.login-page{background:var(--cream);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.login-card{background:#fff;width:100%;max-width:480px;padding:60px 48px;box-shadow:0 4px 40px #5c3d1e14}.login-logo{color:var(--earth);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.login-logo span{color:var(--saffron)}.login-tagline{color:var(--earth);opacity:.7;margin-bottom:40px;font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic}.login-btn{background:var(--saffron);color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;width:100%;margin-top:8px;padding:16px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;transition:all .2s}.login-btn:hover{background:var(--saffron-deep)}.sidebar-nav-inner{flex-direction:column;flex:1;gap:4px;padding:20px 16px;display:flex;overflow-y:auto}.sidebar-item{color:#f5f0e899;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;width:100%;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-item:hover{color:var(--cream);background:#ffffff0f}.sidebar-item.active{color:var(--saffron);background:#d4892a26}.role-badge{text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;padding:3px 10px;font-size:.68rem;display:inline-block}.role-badge.member{color:var(--dust);background:#ede4d026}.role-badge.coordinator{color:#7cb87e;background:#2c4a2e4d}.role-badge.leader{color:var(--saffron);background:#d4892a33}.role-badge.champion{color:var(--cream);background:#f5f0e81a}.role-badge.admin{background:var(--saffron);color:#fff}.role-badge.pending{color:var(--saffron-deep);background:#d4892a1f}.dashboard-title{color:var(--ink);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300}.dashboard-subtitle{color:var(--earth);opacity:.7;margin-bottom:40px;font-size:.85rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:40px;display:grid}.stat-card{border-top:3px solid var(--saffron);background:#fff;padding:24px 28px;box-shadow:0 1px 12px #5c3d1e0f}.stat-card-label{text-transform:uppercase;letter-spacing:.15em;color:var(--earth);opacity:.7;margin-bottom:10px;font-family:DM Sans,sans-serif;font-size:.72rem}.stat-card-value{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:600;line-height:1}.stat-card-sub{color:var(--earth);opacity:.6;margin-top:6px;font-size:.78rem}.data-table-wrap{background:#fff;margin-bottom:28px;overflow-x:auto;box-shadow:0 1px 12px #5c3d1e0f}.data-table{border-collapse:collapse;width:100%}.data-table thead tr{background:var(--ink)}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.12em;color:var(--cream);padding:14px 20px;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:500}.data-table tbody tr{border-bottom:1px solid var(--parchment);transition:background .15s}.data-table tbody tr:nth-child(2n){background:#fdfaf6}.data-table tbody tr:hover{background:#f7f3ed}.data-table tbody td{color:var(--ink);padding:14px 20px;font-family:DM Sans,sans-serif;font-size:.85rem}.status-badge{text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;font-size:.68rem;display:inline-block}.status-badge.pending{color:var(--saffron-deep);background:#d4892a1f}.status-badge.approved{color:var(--forest);background:#2c4a2e1f}.status-badge.archived{background:var(--parchment);color:var(--dust)}.dashboard-section{background:#fff;margin-bottom:28px;padding:28px 32px;box-shadow:0 1px 12px #5c3d1e0f}.dashboard-section-title{color:var(--ink);border-bottom:1px solid var(--parchment);margin-bottom:20px;padding-bottom:12px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600}.points-bar-wrap{align-items:center;gap:12px;margin-top:12px;display:flex}.points-bar-track{background:var(--parchment);flex:1;height:8px}.points-bar-fill{background:var(--saffron);height:8px;transition:width .5s}.points-bar-label{color:var(--earth);opacity:.7;white-space:nowrap;font-size:.75rem}.idea-card{border:1px solid var(--parchment);margin-bottom:12px;padding:20px 24px;transition:border-color .2s}.idea-card:hover{border-color:var(--dust)}.idea-card-title{color:var(--ink);margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600}.idea-card-meta{color:var(--earth);opacity:.6;margin-bottom:10px;font-size:.75rem}.idea-card-actions{gap:8px;margin-top:12px;display:flex}.db-form-group{margin-bottom:16px}.db-label{text-transform:uppercase;letter-spacing:.15em;color:var(--earth);opacity:.7;margin-bottom:6px;font-family:DM Sans,sans-serif;font-size:.68rem;display:block}.db-input,.db-select,.db-textarea{border:1px solid var(--dust);background:var(--cream);width:100%;color:var(--ink);outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:.88rem;transition:border-color .2s}.db-input:focus,.db-select:focus,.db-textarea:focus{border-color:var(--saffron)}.db-textarea{resize:vertical;min-height:100px}.btn-sm{letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;transition:all .2s}.btn-sm.approve{color:var(--forest);background:#2c4a2e1f}.btn-sm.approve:hover{background:var(--forest);color:#fff}.btn-sm.archive{background:var(--parchment);color:var(--earth)}.btn-sm.archive:hover{background:var(--dust);color:var(--ink)}.btn-sm.award{color:var(--saffron-deep);background:#d4892a1f}.btn-sm.award:hover{background:var(--saffron);color:#fff}.empty-state{text-align:center;color:var(--earth);opacity:.5;padding:40px;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic}.select-input{border:1px solid var(--dust);width:100%;color:var(--ink);cursor:pointer;background:#fff;outline:none;padding:8px 12px;font-family:DM Sans,sans-serif;font-size:.85rem}.select-input:focus{border-color:var(--saffron)}@media (width<=900px){nav.public-nav{padding:16px 24px}.nav-right{gap:16px}.hero{padding:100px 24px 60px}.hero-stats{gap:32px}.pledge-section{padding:60px 24px}.pledge-card{padding:36px 28px}.about-section{grid-template-columns:1fr;gap:40px;padding:60px 24px}.how-section{padding:60px 24px}.steps{grid-template-columns:1fr 1fr}.modal{padding:36px 28px}.form-row{grid-template-columns:1fr}footer{text-align:center;flex-direction:column;gap:12px;padding:32px 24px}.hero-circle,.hero-circle-2{display:none}}@media (width<=600px){.hero-title{font-size:3rem}.hero-stats{flex-direction:column;gap:20px}.steps{grid-template-columns:1fr}.pledge-cta-wrap{flex-direction:column;align-items:stretch}.btn-primary,.btn-secondary{text-align:center}.about-right{grid-template-columns:1fr}}
