.cta-button,.cta-button-large,.cta-button-medium,.cta-button-small{display:inline-block;padding:.8rem 1.5rem;min-height:44px;border-radius:var(--border-radius);font-weight:600;transition:var(--transition);font-size:1rem;text-align:center;cursor:pointer;border:2px solid transparent}.cta-button-small{background-color:var(--primary-accent);color:var(--primary-text);border-color:var(--primary-accent);transform:scale(.9);padding:.8rem 1.5rem;margin-top:auto}.cta-button-medium{background-color:var(--primary-accent);color:var(--primary-text);padding:.9rem 1.8rem;font-size:1.1rem;border-color:var(--primary-accent)}.cta-button-large{background-color:#000!important;color:var(--primary-accent,#007bff);padding:1.1rem 2.2rem;font-size:1.2rem;border:2px solid var(--primary-accent,#007bff)}.cta-button-large:hover,.cta-button-medium:hover,.cta-button-small:hover{transform:translateY(-2px);filter:brightness(1.1)}.grant-card:hover .cta-button-small{transform:scale(1) translateY(-2px);background-color:var(--secondary-accent);color:var(--primary-bg);border-color:var(--secondary-accent)}.cta-button-medium:hover{background-color:var(--secondary-accent);border-color:var(--secondary-accent);color:var(--primary-text);box-shadow:0 5px 15px rgba(var(--secondary-accent-rgb),.3)}.cta-button-large:hover{background-color:#333;border-color:var(--primary-accent,#007bff);color:var(--primary-accent,#007bff);box-shadow:0 5px 15px rgba(255,255,255,.1)}.btn-primary,.btn-secondary{padding:.8rem 1.8rem;min-height:44px;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;border:2px solid transparent}.btn-primary{background-color:var(--primary-accent);color:var(--primary-text);border-color:var(--primary-accent)}.btn-secondary{background-color:transparent;color:var(--primary-text);border-color:var(--secondary-text)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(var(--primary-accent-rgb),.2);filter:brightness(1.1)}.btn-secondary:hover{background-color:var(--card-bg);border-color:var(--primary-text);color:var(--primary-text)}.close-modal{background-color:var(--primary-accent);color:var(--primary-text);border:none;padding:.8rem 1.8rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.close-modal:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(var(--primary-accent-rgb),.2);filter:brightness(1.1)}.upload-button{background-color:transparent;color:var(--primary-accent);border:1px solid var(--primary-accent);padding:.7rem 1.4rem;border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;font-size:1rem}.upload-button:hover{background-color:rgba(var(--primary-accent-rgb),.1)}.base-card{background-color:var(--secondary-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid rgba(255,255,255,.08);padding:2rem;transition:transform .3s ease,box-shadow .3s ease;color:var(--primary-text);display:flex;flex-direction:column}.base-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.3)}.form-section,.grant-type-section{background-color:var(--secondary-bg);border-radius:var(--border-radius);padding:2rem 2.5rem;margin-bottom:2rem;box-shadow:var(--box-shadow);border:1px solid rgba(255,255,255,.08);margin-top:.6rem}.form-section h2,.grant-type-section h2{color:var(--primary-text);margin-bottom:2rem;font-size:1.6rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.7rem;color:var(--primary-text);font-weight:500;font-size:1rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:.9rem 1.1rem;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.15);background-color:var(--card-bg);color:var(--primary-text);font-family:Poppins,sans-serif;transition:all .3s ease;font-size:1rem}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--secondary-text);font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--primary-accent);background-color:var(--secondary-bg);box-shadow:0 0 0 3px rgba(var(--primary-accent-rgb),.2)}.required{color:var(--error-color);margin-left:4px}.help-text{font-size:.9rem;color:var(--secondary-text);margin-top:.6rem}.checkbox-group{display:flex;align-items:flex-start;gap:.8rem}.checkbox-group input[type=checkbox]{width:auto;margin-top:.25em;transform:scale(1.1);accent-color:var(--primary-accent);cursor:pointer}.checkbox-label{display:inline;font-weight:400;color:var(--secondary-text);font-size:.95rem}.checkbox-label a{color:var(--primary-accent);transition:var(--transition);text-decoration:none}.checkbox-label a:hover{text-decoration:underline;filter:brightness(1.2)}.file-upload{border:2px dashed rgba(255,255,255,.2);border-radius:var(--border-radius);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:rgba(35,47,59,.5)}.file-upload:hover{border-color:var(--primary-accent);background-color:rgba(var(--primary-accent-rgb),.05)}.file-upload i{font-size:2rem;color:var(--primary-accent);margin-bottom:1rem}.file-upload p{color:var(--secondary-text);margin-bottom:1rem;font-size:1rem}.file-list{margin-top:1rem;text-align:left}.file-item{background-color:var(--card-bg);border-radius:var(--border-radius);padding:.8rem 1rem;margin-bottom:.5rem;display:flex;justify-content:space-between;border:1px solid rgba(255,255,255,.1)}.file-name{font-weight:500;color:var(--primary-text)}.file-size{color:var(--secondary-text);font-size:.9rem}.faq-accordion{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid rgba(255,255,255,.1)}.faq-item:last-child{border-bottom:none}.faq-question{background:0 0;border:none;text-align:left;width:100%;padding:1.5rem 0;font-size:1.2rem;font-weight:500;color:var(--primary-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .2s ease}.faq-question:hover{color:var(--primary-accent)}.faq-icon{display:inline-block;width:1em;height:1em;border:2px solid var(--primary-text);border-radius:50%;position:relative;transition:transform .3s ease,border-color .2s ease;flex-shrink:0;margin-left:1rem}.faq-icon::after,.faq-icon::before{content:'';position:absolute;background-color:var(--primary-text);transition:transform .3s ease,background-color .2s ease}.faq-icon::before{width:2px;height:60%;left:50%;top:20%;transform:translateX(-50%)}.faq-icon::after{height:2px;width:60%;top:50%;left:20%;transform:translateY(-50%)}.faq-question:hover .faq-icon{border-color:var(--primary-accent)}.faq-question:hover .faq-icon::after,.faq-question:hover .faq-icon::before{background-color:var(--primary-accent)}.faq-item.active .faq-question{color:var(--primary-accent);font-weight:600}.faq-item.active .faq-icon{transform:rotate(45deg);border-color:var(--primary-accent)}.faq-item.active .faq-icon::after,.faq-item.active .faq-icon::before{background-color:var(--primary-accent)}.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease-out,opacity .3s ease-in,padding-bottom .4s ease-out;padding-bottom:0}.faq-item.active .faq-answer{max-height:300px;opacity:1;padding-bottom:1.5rem;transition:max-height .5s ease-in-out,opacity .4s ease-in,padding-bottom .5s ease-in-out}.faq-answer p{color:var(--secondary-text);font-size:1rem;line-height:1.7;margin:0}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6);opacity:0;transition:opacity .3s ease-in-out}.modal.visible{display:block;opacity:1}.modal-content{position:relative;background-color:var(--secondary-bg);margin:10% auto;padding:2.5rem 3rem;border:1px solid rgba(255,255,255,.1);width:80%;max-width:500px;border-radius:var(--border-radius);box-shadow:0 5px 25px rgba(0,0,0,.4);text-align:center;transform:scale(.95);transition:transform .3s ease-out}.modal.visible .modal-content{transform:scale(1)}.modal-close{position:absolute;top:15px;right:15px;color:#adb5bd;font-size:2rem;font-weight:700;border:none;background:0 0;cursor:pointer;transition:color .2s ease}.modal-close:focus,.modal-close:hover{color:var(--primary-text);text-decoration:none;outline:0}#emailCaptureModal h2{color:var(--primary-text);margin-top:0;margin-bottom:1.5rem;font-size:1.8rem;width:100%}#emailCaptureModal p:first-of-type{color:var(--primary-text);margin-bottom:1.5rem;line-height:1.6;font-size:1rem;width:100%}.modal-benefits{margin:1.5rem 0 2rem 0;text-align:left}.benefit-item{display:flex;align-items:center;margin-bottom:.8rem;padding:.5rem 0}.benefit-item:last-child{margin-bottom:0}.benefit-icon{font-size:1.2rem;margin-right:.8rem;min-width:24px;text-align:center}.benefit-item span:last-child{color:var(--primary-text);font-size:.95rem;line-height:1.4}#emailCaptureForm{width:100%}#emailCaptureForm .form-group{margin-bottom:1.5rem;margin-top:0;width:100%}#emailCaptureForm input[type=email]{width:100%;padding:.9rem 1.1rem;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.15);background-color:var(--card-bg);color:var(--primary-text);font-family:Poppins,sans-serif;transition:all .3s ease;font-size:1rem;text-align:center}#emailCaptureForm input[type=email]::placeholder{color:var(--secondary-text);font-size:1rem}#emailCaptureForm input[type=email]:focus{outline:0;border-color:var(--primary-accent);background-color:var(--secondary-bg);box-shadow:0 0 0 3px rgba(var(--primary-accent-rgb),.2)}#emailCaptureForm .cta-button-small{margin-top:0;margin-bottom:0;width:100%;max-width:200px;margin-left:auto;margin-right:auto;display:block}.modal-message{margin-top:0;margin-bottom:1.5rem;min-height:1.5em;font-weight:500;transition:color .3s ease}.modal-message.success{color:var(--success-color,#28a745)}.modal-message.error{color:var(--error-color,#dc3545)}.modal-subtext{font-size:.85rem;color:#adb5bd!important;margin-top:0;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root{--success-color:#28a745}.file-upload{border:2px dashed rgba(255,255,255,.2);border-radius:var(--border-radius);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:rgba(35,47,59,.5)}.file-upload:hover{border-color:var(--primary-accent);background-color:rgba(var(--primary-accent-rgb),.05)}.file-upload i{font-size:2rem;color:var(--primary-accent);margin-bottom:1rem}.file-upload p{color:var(--secondary-text);margin-bottom:1rem;font-size:1rem}