*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1a1a6e;--primary-dark: #0e0e4a;--primary-light: #2d2d9e;--accent: #c8a951;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--danger: #dc2626;--success: #16a34a;--google-blue: #4285f4;--facebook-blue: #1877f2;--twitter-black: #000000;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width: 960px;--radius: 6px;--shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05)}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:1.15rem;color:var(--gray-800);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}img{max-width:100%;height:auto;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:2px solid transparent;border-radius:var(--radius);font-family:var(--font-family);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--primary);color:var(--white);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--white)}.btn-large{padding:16px 36px;font-size:1.2rem;width:100%}.btn-donate-header{background:var(--accent);color:var(--primary-dark);border-color:var(--accent);padding:10px 24px;font-size:1.05rem}.btn-donate-header:hover{background:#b8993f;border-color:#b8993f}.top-bar{background:var(--primary);color:var(--white);padding:0 20px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.top-bar-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}.top-bar-logo{height:56px;width:auto}.top-bar-right{display:flex;align-items:center;gap:16px}.social-icons{display:flex;gap:16px}.social-icon{color:var(--white);opacity:.85;transition:opacity .2s;display:flex;align-items:center}.social-icon svg{width:28px;height:28px}.social-icon:hover{opacity:1}.hero{background:var(--gray-50);padding:40px 20px}.hero-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}.carousel{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16 / 10;background:var(--primary-dark)}.carousel-track{display:flex;width:100%;height:100%;transition:transform .5s ease-in-out}.carousel-slide{flex:0 0 100%;width:100%;height:100%}.carousel-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--white);text-align:center;padding:20px}#slide1{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}#slide2{background:linear-gradient(135deg,#2d5a27,#1a3a15)}#slide3{background:linear-gradient(135deg,var(--accent) 0%,#8a6e2f 100%)}.placeholder-content h2{font-size:2.4rem;margin-bottom:8px;font-weight:700}.placeholder-content p{font-size:1.3rem;opacity:.9}.placeholder-content .year-range{font-size:2.1rem;font-weight:700;margin:8px 0;color:var(--accent)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0006;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.carousel-btn:hover{background:#0009}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:50%;border:2px solid white;background:transparent;cursor:pointer;padding:0;transition:background .2s}.dot.active{background:#fff}.hero-right{display:flex;flex-direction:column;gap:16px;text-align:center}.total-raised{display:flex;flex-direction:column;align-items:center;padding:24px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}.total-raised .amount{font-size:3rem;font-weight:700;color:var(--primary)}.total-raised .label{font-size:1.05rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.tabs-section{padding:0 20px}.tabs-container{max-width:var(--max-width);margin:0 auto}.tab-nav{display:flex;border-bottom:2px solid var(--gray-200);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{background:none;border:none;padding:16px 24px;font-family:var(--font-family);font-size:1.1rem;font-weight:500;color:var(--gray-500);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-panels{padding:32px 0 48px}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel h2{font-size:1.7rem;color:var(--gray-900);margin-bottom:12px}.tab-panel>p{color:var(--gray-600);margin-bottom:16px;max-width:640px}.about-cta{margin:24px 0}.share-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--gray-200)}.share-section h3{font-size:1.2rem;color:var(--gray-700);margin-bottom:12px}.share-buttons{display:flex;gap:12px;flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--white);font-family:var(--font-family);font-size:1.05rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--gray-700)}.share-btn:hover{border-color:var(--gray-400);box-shadow:var(--shadow)}.share-facebook:hover{color:#1877f2;border-color:#1877f2}.share-twitter:hover{color:#000;border-color:#000}.share-email:hover{color:var(--primary);border-color:var(--primary)}.share-btn svg{width:22px;height:22px}.student-search{margin-top:16px}.search-input-wrap{position:relative;max-width:480px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.search-input-wrap input{width:100%;padding:14px 16px 14px 44px;border:2px solid var(--gray-300);border-radius:var(--radius);font-family:var(--font-family);font-size:1.1rem;color:var(--gray-800);background:var(--white);transition:border-color .2s}.search-input-wrap input::placeholder{color:var(--gray-400)}.search-input-wrap input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a1a6e1a}.student-results{margin-top:20px;display:grid;gap:12px}.search-loading{display:flex;align-items:center;gap:10px;padding:20px;color:var(--gray-500);font-size:1rem}.student-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);transition:box-shadow .2s}.student-card:hover{box-shadow:var(--shadow)}.student-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.student-info h4{font-size:1.1rem;color:var(--gray-900)}.student-info p{font-size:.95rem;color:var(--gray-500);margin-top:2px}.fundraisers-list{display:grid;gap:16px}.fundraiser-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);transition:box-shadow .2s}.fundraiser-card:hover{box-shadow:var(--shadow)}.fundraiser-avatar{width:48px;height:48px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary);font-size:1.1rem;flex-shrink:0}.fundraiser-info h4{font-size:1.15rem;color:var(--gray-900)}.fundraiser-info p{font-size:1rem;color:var(--gray-500)}.donors-controls{margin-bottom:16px}.sort-select{padding:10px 14px;border:1px solid var(--gray-300);border-radius:var(--radius);font-family:var(--font-family);font-size:1.05rem;color:var(--gray-700);background:var(--white);cursor:pointer}.donors-list{display:grid;gap:12px}.donor-card{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);transition:box-shadow .2s}.donor-card:hover{box-shadow:var(--shadow)}.donor-info{display:flex;align-items:center;gap:12px}.donor-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.donor-details h4{font-size:1.1rem;color:var(--gray-900)}.donor-details p{font-size:.95rem;color:var(--gray-500)}.donor-amount{font-size:1.3rem;font-weight:700;color:var(--success)}.comment-form-area{margin-bottom:24px}.auth-prompt{text-align:center;padding:24px;background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-200)}.auth-prompt p{font-size:1.15rem;color:var(--gray-600);margin-bottom:16px}.auth-buttons{display:flex;flex-direction:column;gap:12px;max-width:360px;margin:0 auto}.btn-auth{padding:12px 20px;border-radius:var(--radius);font-size:1.05rem;font-weight:500;border:1px solid var(--gray-300);justify-content:flex-start}.btn-auth svg{width:22px;height:22px}.btn-google{background:var(--white);color:var(--gray-700)}.btn-google:hover{background:var(--gray-50);border-color:var(--google-blue)}.btn-facebook{background:var(--facebook-blue);color:var(--white);border-color:var(--facebook-blue)}.btn-facebook:hover{background:#1565c0}.btn-twitter{background:var(--twitter-black);color:var(--white);border-color:var(--twitter-black)}.btn-twitter:hover{background:#333}.comment-form{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px}.comment-user{display:flex;align-items:center;gap:10px;margin-bottom:12px}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.user-name{font-weight:600;font-size:1.05rem;color:var(--gray-800)}.btn-signout{margin-left:auto;background:none;border:none;color:var(--gray-500);font-size:.95rem;cursor:pointer;font-family:var(--font-family)}.btn-signout:hover{color:var(--danger)}.comment-form textarea{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-family:var(--font-family);font-size:1.05rem;resize:vertical;min-height:80px}.comment-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a1a6e1a}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.char-count{font-size:.95rem;color:var(--gray-400)}.comments-list{display:grid;gap:16px}.comment-card{display:flex;gap:12px;padding:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius)}.comment-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.comment-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.comment-author{font-weight:600;font-size:1.05rem;color:var(--gray-900)}.comment-time{font-size:.9rem;color:var(--gray-400)}.comment-text{font-size:1.05rem;color:var(--gray-700);line-height:1.5;word-wrap:break-word}.comment-delete{background:none;border:none;color:var(--gray-400);font-size:.9rem;cursor:pointer;margin-top:6px;font-family:var(--font-family)}.comment-delete:hover{color:var(--danger)}.empty-state{text-align:center;padding:40px 20px;color:var(--gray-500)}.empty-state p{margin-bottom:16px}.site-footer{background:var(--gray-900);color:var(--gray-300);padding:40px 20px 0;margin-top:48px}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding-bottom:32px;border-bottom:1px solid var(--gray-700)}.footer-logo{height:80px;width:auto}.footer-center h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-bottom:12px}.newsletter-form{display:flex;gap:8px;max-width:400px}.newsletter-form input{flex:1;padding:12px 16px;border:1px solid var(--gray-600);border-radius:var(--radius);background:var(--gray-800);color:var(--white);font-family:var(--font-family);font-size:1.05rem}.newsletter-form input::placeholder{color:var(--gray-500)}.newsletter-form input:focus{outline:none;border-color:var(--primary-light)}.newsletter-note{font-size:.9rem;color:var(--gray-500);margin-top:8px}.footer-right .social-icons{gap:20px}.footer-right .social-icon svg{width:28px;height:28px}.footer-right .social-icon{color:var(--gray-400)}.footer-right .social-icon:hover{color:var(--white)}.footer-bottom{max-width:var(--max-width);margin:0 auto;padding:20px 0;display:flex;justify-content:space-between;font-size:.95rem;color:var(--gray-500)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--white);border-radius:8px;padding:32px;max-width:480px;width:90%;position:relative;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.8rem;color:var(--gray-400);cursor:pointer}.modal-close:hover{color:var(--gray-700)}.hidden{display:none!important}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:var(--gray-900);color:var(--white);border-radius:var(--radius);font-size:1.05rem;box-shadow:var(--shadow-lg);z-index:300;animation:slideUp .3s ease}.toast.error{background:var(--danger)}.toast.success{background:var(--success)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-inner{grid-template-columns:1fr;gap:24px}.hero-right{order:-1}.total-raised .amount{font-size:2.4rem}.btn-large{padding:14px 28px;font-size:1.1rem}.tab-btn{padding:12px 16px;font-size:1rem}.footer-inner{grid-template-columns:1fr;text-align:center;gap:24px}.footer-left,.footer-right{display:flex;justify-content:center}.footer-center .newsletter-form{margin:0 auto}.footer-bottom{flex-direction:column;align-items:center;gap:8px}.auth-buttons{max-width:100%}.share-buttons{flex-direction:column}}@media(max-width:480px){.top-bar-inner{height:56px}.top-bar-logo{height:40px}.carousel{aspect-ratio:4 / 3}.placeholder-content h2{font-size:1.7rem}.placeholder-content p{font-size:1.1rem}.placeholder-content .year-range{font-size:1.5rem}}
